experience with two oop languages in one course ana madevska bogdanova, fcse, skopje, macedoia

33
EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Upload: leon-mccoy

Post on 25-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSEAna Madevska Bogdanova, FCSE, Skopje, Macedoia

Page 2: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Outline

HISTORY Methodology and learning design of the

course Experience from classes

Lectures exercises

Questionnaire Result statistic Conclusion

Page 3: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

1. History

Academic year 2011-1012 Joining two institutions FCSE First semester Structural programming

language: C Second semester

OOP language…? C++ or Java Why not both of them?

YES

Page 4: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

2. Teaching Methodology …

Highly interactive face-to-face style of teaching. Every teaching unit is prepared and performed

with PowerPoint slides, that contain the teaching essence planned for the week.

Each theme is accompanied with parts or complete code of a given problem.

The slides contain questions and programming puzzles - parts of a code of a given problem. simple OO problems, convenient to use for

discussions and mutual exploring towards the solution.

Page 5: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

… and Learning Design

2 hours lectures, 2 hours theoretical and 2 hours of lab exercises per week.

The lectures cover the basic principles of OOP, supported by code parts for illustration.

The theoretical exercises expose the students to problems that are simple enough to be analyzed during the 2 hours, but also illustrative and realistic to be interesting.

For the lab classes, the students are divided in groups of 20. They solve programming problems that are graded

weekly, and form the part of the course final grade.

Page 6: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Recommended books for the course (1)

• Prata S., C++ Primer Plus, the Waite Group, 1998.

• Stroustrup B., The C+ + Programming Language, Third Edition, AddisonWesley, 1997.

НРС - вовед

6

Page 7: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Recommended books for the course (2)

• Danny Kalev, ANSI/ISO C++ Professional Programmer's Handbook (Que Professional Series), 1999

• Eckel B., Thinking in C++, 2nd Edition, 1999.http://www.BruceEckel.com

НРС - вовед

7

Page 8: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Recommended books for the course (3)

C++ How to Program (8th Edition) by Paul Deitel and Harvey Deitel,

Prentice Hall, 2011.

C++ Annotations by Frank B. Brokken, (v 9.1.0),

2012. http://www.icce.rug.nl/documents/cplusplus/

НРС - вовед

8

Page 9: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Recommended books for the course (4)

The Java Tutorial, Oracle http://docs.oracle.com/

javase/tutorial/

Ivor Horton's Beginning Java, Wrox, 2011.

НРС - вовед

9

Page 10: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Recommended books for the course (5)

Thinking in Java, 4th edition by Bruce Eckel http://mindview.net/Books/TIJ4

Web resources… http://www.apl.jhu.edu/~hall/

java/

НРС - вовед

10

Page 11: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

3. The week-to-week experience First – confusion, how it will be like ???? First 6 weeks

C++ Structural C++ Classes, objects, constructors, destructors Operator overload Inheritance, abstract classes Virtual functions, Polymorphism Multiple inheritance

FIRST partial exam – C++

Page 12: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

3. The week-to-week experience Next 5 weeks

JAVA The same OOP topics

But with JAVA specific feauters Garbage collector, polymorphism,

downcasting, upcasting, exceptions

SECOND partial exam - Java

Page 13: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Main benefit

We could emphasize the differences between the two languages

Students showed great interest

Page 14: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Exams?

Always two OOP problems C++ Java Equally evaluated, 50% each

Page 15: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

But, what do the students think? Is the workload overwhelming? Do all the students feel the same? Is it hard to learn two different OOP

language syntaxes in one semester?

Page 16: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

4. Questionnaire

Short one 6 questions General picture Answered from ‘different’ categories of

students ALL The best Average

Page 17: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q1

I was attending the lectures/exercises : а. 80-100% b. 50-80% c. <50%

Page 18: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q2

My partial exam-results:

а) > 80% b) 60 – 80% c) 40 – 60% d) < 40 % e) I didn’t attend

Page 19: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q3

Learning two OOP languages in one course

а) required normal effort

b) wasn’t easy nor hard

c) required lot of effort and time

Page 20: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q4

Studying the first OOP - C++

а) wasn’t very hard

b) it was hard, but there was enough time to learn all the parts

c) it was too hard and I couldn’t learn the given material

Page 21: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q5

Learning ЈAVA

а) was easier task as a second OOP language

b) as a second OOP language was the same difficulty as learning first OOP

c) was difficult and I couldn’t manage

Page 22: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q6 – the last one

Laboratory exercises helped me to learn both languages C++ and Јava

а) very much

b) not much

c) not at all

Page 23: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q7

Write what was the best and / or the worst part of the course

Page 24: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

What questions can be answered with this questionnaire?

Answers from three different student profiles

1. The most popular answer among the ALL students

2. ‘The Best’ students answers Passed the Structured language course

from previous semester Showed good results on the first partial

exam (>50%)

3. ‘Average’ students answers Showed <60% on the first partial exam Some of them didn’t pass the SP course

Page 25: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q3: Learning two OOP languages in one course

Question 3

PERCENTAGE %ALL(300)

BEST(135)

Average(180)

required normal effort 29 48 20wasn’t easy nor hard 2

429 22

required lot of effort and time

47 23 58

Page 26: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q4:Stydiing the first OOP - C++

Question 4

PERCENTAGE %

ALL(300)

BEST(135)

Average(180)

wasn’t very hard 27 46 23it was hard, but there was enough time to learn all the parts 41 45 36it was too hard and I couldn’t learn the given material 32 9 41

Page 27: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q5:Learning JAVA

Question 5

PERCENTAGE %ALL(300)

BEST(135)

Average(180)

was easier task as a second OOP language 54 76 47as a second OOP language was the same difficulty as learning first OOP language 30 18 32was difficult and I couldn’t manage 16 6 21

Page 28: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q6:Laboratory exercises helped me to learn both languages C++ and JAVA

Question 6

PERCENTAGE %ALL(300)

BEST(135)

Average(180)

very much 45 66 38not much

49 32 53not at all

6 2 9

Page 29: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Q7

Mostly mentioned answers Liked the organization of the course The course team was highly rated Learning two languages was too

difficult (about 35% of the answers) Fancied the female assistants

Page 30: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Passed the course, two generations 2011/2012 2012/2013 ~100 students, one group,

‘independently drawn’ objects According their surnames

Page 31: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

First generation 2011/2012

106 students in the group 51% has passed 10 (A) – 15 9 (B) – 4 8 (C) – 8 7 (D) – 11 6 (E) - 13

Page 32: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Second generation 2012 / 2013 Only one exam session so far (june)

August + January to go 119 in the group So far 35% has passed the exam 10 (A) – 12 9 (B) – 4 8 (C) – 9 7 (D) – 7 6 (E) - 9

Page 33: EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia

Conclusions

We believe that this dynamics suite the students and they are well prepared to continue with the Algorithms and Data structures in the 3rd semester, as well as with the courses about the advanced programming on a different platforms

According the questionnaire, it is not too demanding to have two OOP languages workload