ITEC 2610 3.0 section M Object-Oriented Programming Winter 2013 Instructor: Professor R.Campeanu (campeanu@yorku.ca) Homepage: http://www.atkinson.yorku.ca/~campeanu Lectures – Tuesdays and Thursdays 2:30-4:00 pm in TEL 0006 Labs: 2003/2027/2032 in the TEL building Important Dates: Jan.8 Classes start Feb.5 Test 1 Feb.18-24 Reading Week (no classes) March 7 Test 2 March 15 Last day to withdraw from the course without receiving a grade April 4 Final Exam Online course evaluation Office Hours – Tuesdays and Thursdays 3:30-4:30 pm in 3059 TEL Course Description This is a continuation of problem solving and algorithm development in the context of object-oriented programming techniques. Taught in Java, topics include inheritance, polymorphism, interfaces, events, threads, data structures. Object-oriented design principles will be presented in conjunction with applications in graphics and user interfaces. Prerequisites: AS/AK/ITEC1620 3.0 or AS/AK/ITEC1020 3.0 or AS/AK/SC/COSC1020 3.0 Course Content and Schedule 1: Programming language alignment, building classes Programming language alignment, feature comparison of different programming languages, how to choose an appropriate language for an application Defining classes in Java Scopes of variables static methods and variables 2: Building multi-class applications, OO design, UML Object-oriented design Using UML for system analysis and design Interactions between classes 3: Inheritance, graphics Inheritance in Java: concepts and usage Java class hierarchy Graphics class, drawing shapes using Graphics JFrame and JApplet classes 4: Interfaces, polymorphism Interfaces in Java: concepts and usage Polymorphism Building extensible applications with interfaces and polymorphism 5: GUI components and event handling AWT and Swing components Building GUI applications with GUI components Event-driven programming in GUI applications 6: Layout managers Basic layout managers: FlowLayout, BorderLayout, and GridLayout Complex GUI design with multiple layers of containers More GUI layout managers: CardLayout 7: Exception handling files and I/O Exception handling in Java Checked and unchecked exceptions 8: External files and I/O Reading and writing text files and binary files Random access files 9: Multithreading and synchronization Multithreading and concurrent programming: motivations and concepts Using threads in Java Threads synchronization Networking with Sockets 10: Animation and sound Animation using threads Flicker-free animation with double buffering Multimedia capabilities of Java 11: Data structures: linked lists and trees Self-referential classes dynamic memory allocation Linked lists Stacks and queues Trees Textbook Required: “Big Java” by Cay Horstmann, John Wiley&Sons 2002, ISBN: 0-471-40248-6; Useful Web Address for Java APIs: http://java.sun.com/j2se/1.5.0/docs/api/ Useful Tutorials on the Web: http://java.sun.com/docs/books/tutorial/ A very Useful Java Glossary: http://mindprod.com/jgloss/jgloss.html Code Conventions for Java: http://java.sun.com/docs/codeconv/ Marking Scheme Assignments Test 1 Test 2 Final exam 15% 35% 30% 20% Class Format The lectures will emphasize the most important part of the material. Although this material is available on this Web site it is important to know which topics are expected to be known well for the test/exam. Please ask relevant questions during class, or individual questions at the end of class. Questions which require a more detailed answer will be addressed during my office hours. Late Policy Late assignments or missed midterm tests will not be penalized if medical documentation is presented. In the case of the missed midterm its weight will be added to the weight of the assignment + final exam. This system will not apply to the assignment, which must be submitted. If submitted late with a doctor’s note there will be no penalty. If no doctor’s note is presented a 5% penalty will be applied for each late day. If you miss the final exam for medical reasons you have to apply for deferred final examination within a week from the exam date. Academic Honesty The assignment is supposed to be produced through independent work. You may talk to your classmates but the final form of the assignments must be your own. The penalty for electronically copied assignments is a zero plus the possibility of a disciplinary action.