two OOP languages

9 downloads 184 Views 2MB Size Report
Ivor Horton's Beginning Java,. Wrox, 2011. НРС - вовед. 9. Recommended books for the course (5). □ Thinking in Java, 4th edition. □ by Bruce Eckel.
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

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

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.

… 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.

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

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

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/cpluspl us/

8

Recommended books for the course (4) НРС вовед



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

/



Ivor Horton's Beginning Java, Wrox, 2011.

9

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

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++

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

Main benefit 



We could emphasize the differences between the two languages Students showed great interest

Exams? 

Always two OOP problems  C++  Java  Equally

evaluated, 50% each

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?

4. Questionnaire    

Short one 6 questions General picture Answered from ‘different’ categories of students  ALL  The

best  Average

Q1 I was attending the lectures/exercises :   

а. 80-100% b. 50-80% c. 80% b) 60 – 80% c) 40 – 60% d) < 40 % e) I didn’t attend

Q3 Learning two OOP languages in one course 

а) required normal effort



b) wasn’t easy nor hard



c) required lot of effort and time

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

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

Q6 – the last one Laboratory exercises helped me to learn both languages C++ and Јava 

а) very much



b) not much



c) not at all

Q7 

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

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