Elective Course OOP II: Creation, Experiences, Students’ Opinions Mirjana Ivanović, Dejan Mitrović, Miloš Radovanović Department of Mathematics and Informatics.

Slides:



Advertisements
Similar presentations
1 433 – 254: Software Design Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University of.
Advertisements

A seminar on e-business – Was it worthwhile? Zoran Budimac, Zoran Putnik.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Organization of the New Course on Complier Construction in Novi Sad Vladimir Kurbalija, Mirjana Ivanović Department of Mathematics and Informatics University.
Two e-Learning elective seminars in Novi Sad Putnik Z., Komlenov Ž., Budimac Z. DMI, Faculty of Science University of Novi Sad.
CMSC 132: Object-Oriented Programming II
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
BORIS MILAŠINOVIĆ FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING UNIVERSITY OF ZAGREB, CROATIA Experiences after three years of teaching “Development.
COMS S1007 Object-Oriented Programming and Design in Java August 7, 2007.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Student view of SE study program at FER, Zagreb Ivan Belfinger Mentor: prof. dr. sc. Krešimir Fertalj Faculty of Electrical Engineering and Computing,
Informatics in secondary and elementary schools in Serbia Ohrid, 25. August, 2011.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
DAAD project “Joint Course on OOP using Java” Design Patterns in the course ‘OOP in Java’ - first experiences Ana Madevska Bogdanova Institute of informatics.
Computer Network Fundamentals CNT4007C
Advanced Java New York University School of Continuing and Professional Studies.
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
CSC 113 Java Programming II
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
August 27, th Workshop Software Engineering Education and Reverse Engineering Role of Agent Middleware in Teaching Distributed Network Application.
Java Teaching Workshop Y. Daniel Liang May 20, 2002 At NCC.
Some years ago, CarTech CEO told us: What I want to see in our new hires is:
An analysis of exam results in the Object-Oriented Programming course at „Politehnica” University of Timisoara Ioan Jurca.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
WXGE 6103 Digital Image Processing Semester 2, Session 2013/2014.
SEE&REZagreb, On the course architecture and course homepage Mirjana Ivanovic Faculty of Science, Department of Mathematics and Informatics Trg.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
SE3183 Advance Web Programming Programming Session 2013/2014.
ICS 102 Computer Programming University of Hail College of Computer Science & Engineering Computer Science and Software Engineering Department.
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
7th Workshop SEERE, Risan, 8-15 September, "New Java course material and available pool of.ppt presentations" D. Pešović, M. Ivanović, Ž. Komlenov.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Objected Oriented Programming & Design JAVA Shishir Gupta (704) (704)
Selected Topics in Information Technology Programming Language - JAVA Semester 1/2554.
Introduction to Grid Computing to students attending Concurrent and Distributed Programming courses Zaharije Radivojević School of Electrical Engineering.
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
1 6th Workshop "SEERE", Ravda, September 2006 OOJava course materials – what happened during last year? M. Ivanovic, K. Bothe.
August 30, th Workshop Software Engineering Education and Reverse Engineering1 Distributed Network Applications Development -- Educational Experiences.
Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
CSC 205 Java Programming II Introduction. Topics Syllabus Course goals and approach Review I Java language fundamentals.
Object-Oriented Programming Course Introduction Svetlin Nakov Technical Trainer Software University
SFTW241 Programming Languages Architecture 2002~2003 Semester II Duration: 2003/2/11~ 2003/4/11 University of Macau Faculty of Science and Technology Computer.
Boro Jakimovski Faculty of Computer Science and Engineering University Sa. Cyril and Methodius in Skopje 11th Workshop on.
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
J AVA T RAINING IN A HMEDABAD By TOPS Technologies 1 TOPS Technologies Java Course.
Teaching Computer Graphics with Java Dejan Mitrović, Dragan Mašulović Department of Mathematics and Informatics Faculty of Sciences University of Novi.
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
Mind Q Systems Leader s In Training /7, 2nd Floor, Srinivasa Nagar Colony (W) Above HDFC Bank, S.R. Nagar Hyderabad Tel: /92.
CSC 241: Introduction to Computer Science I
Computer Network Fundamentals CNT4007C
Informatics in secondary and elementary schools in Serbia
INTERMEDIATE PROGRAMMING WITH JAVA
CSc 020: Programming Concepts and Methodology II
CSC 221: Computer Programming I Fall 2005
CS & CS Capstone Project & Software Development Project
Programming in Java Text Books :
Introduction to Computer Science for Majors II
SE-1021 Software Development 2
CSC 241: Introduction to Computer Science I
Presentation transcript:

Elective Course OOP II: Creation, Experiences, Students’ Opinions Mirjana Ivanović, Dejan Mitrović, Miloš Radovanović Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad, Serbia

2/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Agenda  Introduction  The topics  Assignments and grading  Students’ opinions  Discussions

3/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Introduction  Object-oriented programming I: existing, mandatory course for all CS students, 3 rd semester -Covers OO concepts, the Java language, some Java SE libraries  Object-oriented programming II: elective course, 4 th semester  OOP II is the continuation OOP I, with the focus on advanced Java topics -The main goal was to teach the students practical Java skills required by the industry

4/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Agenda  Introduction  The topics  Assignments and grading  Students’ opinions  Discussions

5/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK The interdependency of topics New Java 5 lang. features EnumerationsGenerics CollectionsJFC/Swing OO design Network programming Distributed programming I/O system Java EE Threads Strings

6/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Topic details (1/5)  New Java 5 language features -Enumerated types. Generics. Autoboxing/Unboxing. Varargs. Enhanced for loop. Static imports. Annotations. Covariant return types.  Strings in Java -Methods of the String class. Immutability and performance. StringBuilder. Formatting strings. Regular expressions.  Java enumerated types -Motivation. Writing and using enumerated types. Enumerations as classes – properties and methods. Inheritance.

7/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Topic details (2/5)  Generic types in Java -Motivation. Basic usage. Sub-typing. Generic wildcards. Raw type and legacy code.  Java collections framework -Overview of the JCF. Core collection interfaces. Collection implementations. Element ordering. Comparator and Comparable interfaces. Collection algorithms.  Java threading features -Concepts of concurrency. Thread context switch. Synchronization techniques – synchronized methods and statements, locks. Concurrent collections. Timers. The liveness property.

8/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Topic details (3/5)  Creating GUI with JFC/Swing -Overview of the concepts comprising Java-based GUI applications. Top-level containers. Layout managers. Event-driven programming. Overview of basic Swing components – buttons, labels, etc. Detailed insight into advanced Swing components – lists, tables, and trees.  Customizing JFC/Swing-based GUI -Working with panes of top-level containers. Writing custom layout managers. Component development. Java 2D.

9/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Topic details (4/5)  The Java I/O system -Stream basics. I/O streams. Byte streams. Character streams. The Decorator design pattern. Buffered streams. Useful I/O classes – File, PrintWriter, and Scanner. NIO.  Java network programming -Networking basics. Network addressing in Java. Uniform Resource Identifiers. TCP sockets. UDP datagrams. Multiplexing.  Distributed programming with Java -Distributed software architectures. CORBA. RMI. Serialization. Reflection API. Classloaders. Case-study – mobile agents.

10/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Topic details (5/5)  Java EE pt. 1 -Multi-tier software architectures. Overview of the Java technology. Introduction to Java EE. Java Persistence API. Enterprise JavaBeans.  Java EE pt. 2 -Service-Oriented Architectures and web services. Java Server Faces.  Object-oriented design -UML. Design patterns.

11/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Agenda  Introduction  The topics  Assignments and grading  Students’ opinions  Discussions

12/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Assignments and grading  A student could score the maximum of 100 points, attained from: -Practical assignments: 32 points -Theoretical tests: 28 points -The final exam: 40 points  In order to qualify for the final exam, a student needed to attain: -Min. 16 points (50%) from practical assignments -Min. 14 points (50%) from theoretical tests  The passing grade was 55

13/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Practical assignments  There were 12 practical assignments in total: 5 individual and 7 group  Individual assignments covered the following topics: -Strings in Java (1 point) -Enumerated types (1 point) -Generic types in Java (2 points) -Java collections framework (2 points) -Java threading features (2 points)  Individual assignments were conducted in a computer laboratory, each within a 90 minute timeframe

14/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Group assignments  For the remaining 7 practical assignments, students were divided into groups of 3 or 4  In order to qualify for group assignments, a student had to attain at least 4 points (50%) from individual assignments  Group assignments covered all the remaining topics, except for the Java I/O system, totaling 24 points  Each group was given the same task description and had to submit the solution within 1 week

15/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Grading group assignments  Students had to defend submitted solutions, through individual discussions  The total number of points given to a student for each assignment was based on several criteria: -The overall percentage of the problem that had been solved -The amount of work completed by each student -The level of understanding the student had for his/hers own code -The level of understanding the student had for the code programmed by his/hers coworkers -The student’s comprehension of the underlying theory

16/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Grades  Initially, 53 students enrolled the course  28 students (58%) passed individual assignments  22 students qualified for the final exam -42% of the initial number -79% of those who had passed individual assignments  As of June 2011, 13 students passed the final exam: -6: 15% -7: 32% -8: 23% -9: 15% -10: 15%

17/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Agenda  Introduction  The topics  Assignments and grading  Students’ opinions  Discussions

18/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Students’ opinions – on topics (1/2)  How satisfied were you with the course topics?  How would you describe the difficulty of topics?

19/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Students’ opinions – on topics (2/2)  Do you consider the course topics to be valuable for your future profession?

20/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Students’ opinions – on group assignments  How would you describe the difficulty of group assignments?  Would you rather work on the problems individually, in the computer laboratory?

21/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Overall positive impressions  “I believe that this course, without superlatives and exaggerations, is one of the most useful courses in our entire education.”  “Only for ambitious programmers, difficult, but very useful. The best course up to this point.” (2 nd year student)  “I think we’ve learned a lot of useful stuff that we will be able to employ in the future. The set of chosen topics is phenomenal, difficult, but phenomenal.”

22/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Overall negative impressions  The number one negative impression: too many assessments of the theoretical knowledge  Also, no chances for improving the score  Poor reactions to the UML and Design patterns topic  “A lot of new, strange, and difficult topics covered very fast. We were expected to do a lot of stuff on our own, which we were not used to.”  “Way too much work for an elective course.”

23/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Agenda  Introduction  The topics  Assignments and grading  Students’ opinions  Discussions

24/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Discussions on group assignments  Mixed impressions with group assignments  Students were (surprisingly) very honest about the amount of work they have (not) completed  However, in many cases they were not able to divide the work equally  Irresponsible behavior of some students towards other members of their group  Overall, grading group assignments correctly was a difficult task

25/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Problems with Java EE  A large portion of students were simply not able to setup GlassFish with Eclipse on their home computers  Students had many small problems while working on the Java EE assignments, but from which they were not able to recover on their own  So there were a lot of s exchanged back and forth -A lot of reading of GlassFish-generated exception stack traces

26/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Future improvements of the course  Enrich lectures with more practical examples  Reduce the impact of the theoretical tests on the final grade -Currently, it is more than 70%  Update the course with recent developments of Java language and technology  Add new topics? -Automated testing appears to be a good candidate

27/26 Elective Course OOP II: Creation, Experiences, Students' Opinions - DAAD WS 2011, Ohrid, MK Thank You for your attention! Any questions? Suggestions?