Object-Oriented Programming

CIS*2430 (Fall 2014)

 

 

Instructor: Fei Song (Reynolds 215, ext. 58067)

Email: fsong@uoguelph.ca

Office Hours:  Mondays and Fridays, 2:30 – 4:30 pm (Instructor’s office)

Lab Hours: Wed. 2:30 – 4:20 pm; Tue. 12:30 – 2:20 pm; Thu. 12:30 – 2:20 pm;

                   Fri. 9:30 – 11:20 am; and Thu. 2:30 – 4:20 pm (Location: Thornbrough 2420)

 

Teaching Assistants: TBA

 

 

Overview 

 

This is an introductory course on Object-Oriented Programming (OOP).  It assumes that students already know the basics of a procedural programming language such as C and can write computer programs independently either through previous courses or working experience.  It is also desirable that students have some basic understanding of simple data structures such as arrays, linked lists, and hash tables.  The course focuses on the fundamental concepts and techniques of object-oriented programming along with suitable applications.  Students will have ample opportunities to improve their development skills with the Java programming language through assignments and lab exercises.

 

Preequisite(s): CIS*2500

 

 

Evaluation

 

      Programming Assignments (55%)

-          Three assignments @ 15% each

-          Five in-lab assignments @ 2% each

 

      Exams (45%)              

-          Two midterms @ 10% each

-          One final exam @ 25%

 

 

Policies

 

·         Lecture attendance is important.  The textbook and lecture notes will not necessarily provide adequate coverage for the course materials, especially the discussions and question answering we conduct during the classes.

 

·         Lab attendance is required for tutorials, five in-lab assignments, and one lab exam.  Each lab assignment will be done in two weeks; so you should plan on attending at least one of the two sessions.

 

·         Late assignments are not accepted for grading and will be given a mark of zero.  A reasonable portion of assignment marks are given for documentation, test plans, and coding style.  You will be further ahead to submit a partially finished assignment on time than to spend effort asking for an extended submission date.  Unless otherwise specified, assignments are due on or before the midnight of the due date.

 

·         Any requests for the remarking of assignments and exams should be submitted by emails (along with the hardcopies if relevant) within 5 business days.  Any later requests will not be considered.

 

·         Object-oriented programming is about code reuse.  However, undocumented use of other people’s code is plagiarism.   Plagiarism is not tolerated at the University of Guelph; any infraction incurs severe penalty as per the rules on Academic Misconduct in the Undergraduate Calendar: http://www.uoguelph.ca/undergrad_calendar.  Code reuse will be discussed at length in class and all use of libraries and third party code must adhere to the coding conventions for this class.

 

 

Textbook and Course Website

 

      Text: Walter Savitch.  Absolute Java.  Fifth Edition.  Pearson Education, 2012.

 

      Course website: http://moodle.socs.uoguelph.ca/

 

 

Topics to be Covered

 

·         OOP introduction

·         Class design in terms of variables and methods

·         Information hiding and encapsulation

·         Inheritance, polymorphism, and overloading

·         Data structures such as Arrays, ArrayLists, and HashMaps

·         Exception handling and event-driven programming

·         UML modeling and OO design patterns

·         Containers and iterators

·         Swings and GUI’s

·         OO analysis and design techniques