Outline EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE. HISTORY Methodology and learning design of the course Experience from classes

Similar documents
Compulsory course in Computer Science

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz

Course Administration

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

COURSE OUTLINE. Faculty of Computing, Universiti Teknologi Malaysia

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

COURSE OUTLINE. Course lecturer(s) Name Office Tel (07-55) Dr Norsham Idris N /

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

The University of Aizu School of Computer Science and Engineering Introduction to Programming. Course Syllabus (Special Track for Foreign Students)

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

Advanced Programming CMPS 109

Model 4.2 Faculty member + student Course syllabus for Advanced programming language - CS313D

Object Oriented Programming

Module Syllabus. PHILADELPHIA UNIVERSITY Faculty: Information Technology Department: Applied Computer Science

Object-Oriented Programming Using C++ (Introduction To Programming) PDF

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

CSC 111 Introduction to Computer Science (Section C)

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

C++ Programming for Programmers using Microsoft Visual C Professional

Object-Oriented Programming CSCI-UA

Object-Oriented Programming for Managers

CSCI 201L Syllabus Principles of Software Development Spring 2018

Course specification

6.088/6.084 Robotics Project Subject Information and Syllabus

Course specification

CALEDONIAN COLLEGE OF ENGINEERING, MODULE HANDBOOK. Department of Electrical & Computer Engineering SULTANATE OF OMAN. Module Code

Course specification

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

Course Name: Information and Computers Networks Security Course Code: IT423

Course Design Document: IS202 Data Management. Version 4.5

Object-Oriented Programming CSCI-UA

Course Name: Database Design Course Code: IS414

Computer Science Technology Department

Course Name: Database Systems - 1 Course Code: IS211

IT-2670: C/C++ PROGRAMMING LANGUAGE

Computer Networks IT321

Object-Oriented Programming Fall Robert Grimm, New York University

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

Objects and Classes Lecture 1

Introduction. Object Orientated Analysis and Design. Benjamin Kenwright

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

Revising CS-M41. Oliver Kullmann Computer Science Department Swansea University. Linux Lab Swansea, December 13, 2011.

Revising CS-M41. Oliver Kullmann Computer Science Department Swansea University. Robert Recorde room Swansea, December 13, 2013.

ITT Technical Institute. IT217P Programming in C++ II Onsite Course SYLLABUS

Syllabus. College for Computer & Information Sciences 3333 Regis Boulevard, Denver, CO regis.edu

B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET

The C# Programming Language. Overview

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

ABD - Database Administration

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

Object-Oriented Programming Fall Robert Grimm, New York University

ECOM 2314 COMPUTER PROGRAMMING II

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Course Name: Computer Graphics - 2 Course Code: IT332

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca

ITE 205 Software Design and Programming I

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

INF 315E Introduction to Databases School of Information Fall 2015

Course specification

C++ Programming for Programmers

LIS 2680: Database Design and Applications

Course Syllabus. Programming Language Paradigms. Spring - DIS Copenhagen. Semester & Location: Elective Course - 3 credits.

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy.

Software Reliability and Reusability CS614

Lesson 6 Introduction to Object-Oriented Programming

Introduction to Computation and Problem Solving

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

CS183 Software Design. Textbooks. Grading Criteria. CS183-Su02-Lecture 1 20 May by Eric A. Durant, Ph.D. 1

Advanced Database Organization INF613

Sprint 2017, Sul Ross State University

Module Documentation

CS240: Programming in C

Preliminary results from a flipped classroom experience: Getting an insight from the real marks. Jaime Busquets, Carlos Turró

University of San Francisco Course Syllabus and Outline

University of Asia Pacific (UAP) Department of Computer Science and Engineering (CSE)

Week 8: The fundamentals of graph theory; Planar Graphs 25 and 27 October, 2017

CE221 Programming in C++ Part 1 Introduction

FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre

Computer Grade 5. Unit: 1, 2 & 3 Total Periods 38 Lab 10 Months: April and May

Intermediate Programming Section 03 Introduction. Department of Computer Science Johns Hopkins University. Course Overview.

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

ITT Technical Institute. SD2720 Advanced Software Development Using Java Onsite and Online Course SYLLABUS

OOPs: The Harsh Realities of Programming

Course Name: Computer Networks-1 Course Code: IT222

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Programming 1. Outline (111) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

Announcements. Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment

ET345P Control Systems [Onsite]

Preface A Brief History Pilot Test Results

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid

CENTRAL TEXAS COLLEGE COSC 1337 PROGRAMMING FUNDAMENTALS II. Semester Hours Credit: 3

Course specification

ECE Object-Oriented Programming using C++ and Java

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

MCOM 6336 Digital Media Spring 2014

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

MSO Lecture 1. Wouter Swierstra (adapted by HP) September 11, 2017

Transcription:

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. <50% Q2 My partial exam-results: а) > 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 <60% on the first partial exam Some of them didn t pass the SP course

Q3: Learning two OOP languages in one course Question 3 PERCENTAGE % ALL (300) BEST (135) Average (180) required normal effort 29 48 20 wasn t easy nor hard 24 29 22 required lot of effort and time 47 23 58 Q4:Stydiing the first OOP - C++ Question 4 wasn t very hard PERCENTAGE % ALL (300) BEST (135) Average (180) 27 46 23 it was hard, but there was enough time to learn all the parts 41 45 36 it was too hard and I couldn t learn the given material 32 9 41

Q5:Learning JAVA Question 5 PERCENTAGE % ALL (300) BEST (135) was easier task as a second OOP language 54 76 47 as a second OOP language was the same difficulty as learning first OOP language 30 18 32 was difficult and I couldn t manage 16 6 21 Average (180) Q6:Laboratory exercises helped me to learn both languages C++ and JAVA Question 6 very much not much not at all PERCENTAGE % ALL (300) BEST (135) 45 66 38 49 32 53 6 2 9 Average (180)

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 Passed the course, two generations 2011/2012 2012/2013 ~100 students, one group, independently drawn objects According their surnames

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

Conclusions We believe that this dynamics suite the students and they are well prepared to continue with the Algorithms and Data structures in the 3 rd 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