CS-420-1: Object-Oriented Design
College of Arts & Sciences Syllabus
Fall 2019

Credit Hours:
Course Description:
This course provides student with a solid foundation in object oriented design (OOD) and programming (OOP), a contemporary and highly used programming paradigm. OOD involves the presentation of three main concepts: encapsulation, polymorphism, and inheritance. These concepts and implementation techniques are presented in an object oriented programming language and students become experienced in OOD projects.
CS-400 minimum grade of C and CS-404 minimum grade of C
Class Time:
Tuesday/Thursday 5:40 p.m. - 6:55 p.m.
Note: This course will be held in a hybrid manner
Class Location:
Lech Walesa Hall 2054

Rachel Trana
Office Location:
Lech Walesa Hall 3036
Office Hours:
Mondays/Wednesdays: 4:00 p.m. - 5:00 p.m.
Thursdays: 1:00 p.m. - 3:00 p.m.
Phone Extension:
Per university policy, grades may not be discussed via email.
All course-related questions should be posted on the D2L Discussion Forum.
Required Text:
Introduction to Java Programming, Comprehensive Version (11th Edition) by Daniel Liang, Pearson, ISBN-13: 978-0134670942
Supplemental Materials:
As this is a graduate-level course, materials will be taken from a variety of sources. Students can reference the additional resources below.

1. Modern Java in Action: Lambdas, Streams, Functional and Reactive Programming by Urma, Raoul-Gabriel, Fusco, Mario and Mycroft, Alan. Manning Publication, 2019. ISBN: 9781617293566

2. Testing with JUnit by Appel, Frank. Packt Publishing, 2015. ISBN 9781782166603
Upon completing CS-420: Object-Oriented Design, students will be able to do the following:
  • Develop an in-depth understanding of formal object-oriented analysis and design processes for applications.
  • Implement concurrent applications using threads, describe problems related to concurrent programming and how to solve these problems.
  • Implement applications with simple graphical user interfaces.
  • Design and implement flexible and reusable software solutions using object-oriented principles.
  • Learn how to design programs capable of managing large amounts of data.
  • Use the Java class library to develop solutions to advanced programming problems.
  • Learn advanced programming techniques that utilize designing classes, object interaction and behavior of objects.
  • Class Inheritance and Polymorphism
  • Interface Inheritance and Polymorphism
  • Object-oriented Design Patterns
  • Generics
  • Threads/Thread Synchronization
  • Serialization
  • GUI Elements
Note: The above list of topics is not necessarily fully inclusive of all the topics that will be covered in this course. Prior to taking this course, students are expected to have familiarity with basic object-oriented concepts in Java such as inheritance, polymorphism, encapsulation, class construction, method overriding/overloading, exception handling, abstract classes and interfaces. Students who do not have familiarity with the above concepts, should strongly consider taking CS-207: Programming II before attempting this course.
As this is a graduate-level course, students are expected to exhibit an independent work ethic and conduct themselves in accordance with the Graduate College student academic conduct policies. This includes completing assigned readings/homework/quizzes on a timely basis, allocating an appropriate amount of time for homework and studying, maintaining an awareness of of course meeting times and deadlines, taking the initiative to ask questions to promote an in-depth understanding of course concepts, and taking primary responsibility for their individual course progress.
Attendance is mandatory. More than six (6) absences will result in an automatic F in the course.
Homework will be assigned weekly, posted online. While working on homework assignments with other students is encouraged, plagiarism is NOT tolerated. All work should be unique. Students that submit duplicate/identical work will receive an F for that homework assignment. All assignments must be submitted to D2L by the specified due date and time. There are NO exceptions.
There will be several online (D2L) quizzes throughout the semester, designed to reinforce core concepts in Programming II. These quizzes must be completed by the specified due date and time (no extensions will be given).
Grading Policies and Formulae:
Item Weight
Homework 15%
Quizzes 10%
Exams 50%
Final Project 25%
Percentage Letter Grade
90 - 100 % A
80 - 89.99999999 % B
70 - 79.99999999 % C
50 - 69.99999999 % D
0 - 49.99999999 % F
There will be two in-class exams, worth a total of 50% of the final grade. There are NO make-up exams. If you are unable to attend an exam due to a religious observance, you must notify your professor at least 3 three weeks in advance of the exam in order to schedule a make-up exam. Failure to do so will result in an F for that exam. The material in this course builds on itself and therefore the material for the exams is implicitly cumulative. Exams are closed-book and closed-notes. Access to any digital devices is prohibited.
Final Project:
A final project will be assigned and is worth 25% of the final grade. This final project will incorporate the topics presented in class. Students can work in pairs (i.e. groups of 2) on this project. Groups larger than 2 are not permitted.
Academic Integrity Policy:
By enrolling in this course, you are bound by the NEIU Student Code of Conduct. You will be informed by your instructor of any additional policy specific to your course regarding plagiarism, class disruptions, etc.
ADA Statement:
Northeastern Illinois University (NEIU) complies with the Americans with Disabilities Act (ADA) in making reasonable accommodations for qualified students with disabilities. To request accommodations, students with special needs should make arrangements with the Student Disability Services (SDS) office, located on the main campus in room D104. Contact SDS via (773) 442-4595 or http://www.neiu.edu/university-life/student-disability-services. It is your responsibility to have the Accessibility Center send me this information by the 3rd week of the semester.
Campus Safety:
Web links to Campus Safety: Emergency Procedures and Safety Information can be found on NEIUport on the MyNEIU tab or as follows: http://homepages.neiu.edu/~neiutemp/Emergency_Procedures/MainCampus/.
Absence Policy:
Attendance is mandatory. Six (6) or more absences will result in an automatic F in the course. This includes workshop sessions.
Submitting Assignments to D2L:
  1. Create a folder with your name and in that folder include all of your homework files (program code, input and output files, but NO .class files).
  2. Compress the folder. For Windows: Right-click and choose “Send to” and then choose "Compressed (zipped) Folder".
  3. Submit the zipped folder (.zip file) to D2L Dropbox.
General Policies:
  • No grade of "I" will be given.
  • No makeup exams or quizzes will be given. If you miss an exam or quiz, you will receive an F for that exam/quiz.
  • You must bring your NEIU ID to each exam, including the final exam. I reserve the right to check your ID at each exam, including the final exam.
  • The use of cell phones, iPads or computers during class time for non-class or non-emergency purposes is not allowed. Phones are to be muted and laptops/iPads are to remain closed.
  • There will be NO extra credit projects given to improve grades.
  • Cheating and/or plagiarism will not be tolerated. Students that violate the NEIU academic conduct policy may be subject to an F for that assignment, quiz, exam, project or any portion (or all) of the final course grade
  • Policies may be modified or added as I deem appropriate/necessary.
Important Dates:
Monday, September 2, 2019: Labor Day
Friday, October 11 - Saturday, October 12, 2019: Fall Break
Thursday, November 28 - Sunday, December 1, 2019: Thanksgiving Holiday
Friday, November 1, 2019: Last day to drop with a W