PROG78004
Object-oriented programming with Java
Sheridan
 
  I: Administrative Information   II: Course Details   III: Topical Outline(s)  Printable Version
 

Land Acknowledgement

Sheridan College resides on land that has been, and still is, the traditional territory of several Indigenous nations, including the Anishinaabe, the Haudenosaunee Confederacy, the Wendat, and the Mississaugas of the Credit First Nation. We recognize this territory is covered by the Dish with One Spoon treaty and the Two Row Wampum treaty, which emphasize the importance of joint stewardship, peace, and respectful relationships.

As an institution of higher learning Sheridan embraces the critical role that education must play in facilitating real transformational change. We continue our collective efforts to recognize Canada's colonial history and to take steps to meaningful Truth and Reconciliation.


Section I: Administrative Information
  Total hours: 42.0
Credit Value: 0.0
Credit Value Notes: N/A
Effective: Fall 2017
Prerequisites: N/A
Corequisites: N/A
Equivalents: N/A
Pre/Co/Equiv Notes: N/A

Program(s): Java Foundations
Program Coordinator(s): N/A
Course Leader or Contact: N/A
Version: 20170905_00
Status: Approved (APPR)

Section I Notes: This course is offered on-campus. The sessions may include a variety of interactive and engaging activities including discussions, workshops, group activities, role plays, case studies and presentations. Readings, video, and podcasts may be provided online, on Sheridan's Learning and Teaching Environment (SLATE), to support class activities and reinforce material covered during class sessions. Assignment details will be provided in class and on SLATE. Students will need reliable access to the internet.

 
 
Section II: Course Details

Detailed Description
In this course, students create and use objects combined with procedural programming to provide greater flexibility, modularity and reusability in Java programming. Students acquire object-oriented thinking (paradigm) through practical applications of inheritance, polymorphism, exception handling, text I/O, abstract classes and interfaces.

Program Context

 
Java Foundations Program Coordinator(s): N/A
This course provides students with the understanding of procedural programming and object-oriented programming. This course is part of the Java Foundations Recognition of Achievement.


Course Critical Performance and Learning Outcomes

  Critical Performance:
By the end of this course, students will have demonstrated the ability to integrate the object-oriented paradigm to develop Java programs with various applications of objects.
 
Learning Outcomes:

To achieve the critical performance, students will have demonstrated the ability to:

  1. Use classes to model objects in the real-world by defining and creating objects in Java.
  2. Write programs using the object-oriented paradigm by exploring the differences between procedural and object-oriented programming.
  3. Apply object-oriented paradigm using polymorphism and inheritance.
  4. Use exception handling to deal with errors
  5. Use text I/O to read and write data
  6. Incorporate abstract classes and interfaces to specify common behaviours between superclasses and subclasses

Evaluation Plan
Students demonstrate their learning in the following ways:

 Evaluation Plan: IN-CLASS
 Assignment 1 - Defining class and creating objects7.0%
 Assignment 2 - Application of object-oriented paradigm7.0%
 Assignment 3 - Application of inheritance and polymorphism in object-oriented programming7.0%
 Assignment 4 - Application of exception handling and text I/O7.0%
 Assignment 5 - Write code using abstract classes and interfaces7.0%
 Midterm Test25.0%
 Final Exam40.0%
Total100.0%

Evaluation Notes and Academic Missed Work Procedure:
To encourage behaviours that will help students to be successful in the workplace and to ensure that students receive credit for their individual work, the following rules apply to every course offered within the Faculty of Continuing and Professional Studies. 1. Students are responsible for staying abreast of test dates and times, as well as due dates and any special instructions for submitting assignments and projects as supplied to the class by the professor. 2. Students must write all tests at the specified date and time. Missed tests, in-class/online activities, assignments and presentations are awarded a mark of zero. If an extension or make-up opportunity is approved by the professor as outlined below, the mark of zero may be revised by subsequent performance. The penalty for late submission of written assignments is a loss of 10% per day for up to five business days (excluding weekends and statutory holidays), after which, a grade of zero is assigned. Business days include any day that the college is open for business, whether the student has scheduled classes that day or not. 3. Students who miss a test or in-class/online activity or assignment or fail to submit an assignment on time due to exceptional circumstances are required to notify their professor in advance of the class whenever possible. A make-up test may be supplied for students who provide an acceptable explanation of their absence and/or acceptable documentation explaining their absence (e.g., a medical certificate). All make-up tests are to be written at a time and place specified by the professor upon the student¿s return. Alternately, students may be given an opportunity to earn the associated marks by having a subsequent test count for the additional marks. Exceptional circumstances may result in a modification of due dates for assignments. 4. Unless otherwise specified, assignments and projects must be submitted at the date and time specified by the instructor. 5. Students must complete every assignment as an individual effort, unless the professor specifies otherwise. 6. Since there may be instances of grade appeal or questions regarding the timely completion of assignments and/or extent of individual effort, etc., students are strongly advised to keep, and make available to their professor, if requested, a copy of all assignments and working notes until the course grade has been finalized. 7. There will be no resubmission of work unless this has been previously agreed to or suggested by the professor. 8. Students must submit all assignments in courses with practical lab and field components in order to pass the course.

Provincial Context
The course meets the following Ministry of Colleges and Universities requirements:


 

Prior Learning Assessment and Recognition
PLAR Contact (if course is PLAR-eligible) - Office of the Registrar
Students may apply to receive credit by demonstrating achievement of the course learning outcomes through previous relevant work/life experience, service, self-study and training on the job. This course is eligible for challenge through the following method(s):

  • Challenge Exam
    Notes:  
  • Portfolio
    Notes:  

 
 
Section III: Topical Outline
Some details of this outline may change as a result of circumstances such as weather cancellations, College and student activities, and class timetabling.
Instruction Mode: In-Class
Professor: N/A
Resource(s):
 TypeDescription
RequiredTextbookIntroduction to Java programming, Comprehensive Version with Access, Liang, Y. D., Pearson Education, Inc., 11, ISBN 9780134670942, 2017

Applicable student group(s): Continuing and Professional Education students that want to learn about Java programming
Course Details:

Module 1: Objects and Classes

  • Defining classes and creating objects
  • Object reference variables vs. primitive data type variables
  • Instance vs. static variables

Assignment 1: Defining class and creating objects (7%)

Module 2: Object-oriented Thinking 

  • Procedural vs. Object-oriented programming
  • Using Wrapper classes
  • Making mutable strings

Assignment 2: Application of object-oriented paradigm (7%), Midterm  (25%)

Module 3: Inheritance and Polymorphism

  • Introducing subclasses and superclasses
  • Overriding vs. overloading methods
  • Polymorphism and dynamic binding
  • Using objects in an ArrayList

Assignment 3: Application of inheritance and polymorphism in object-oriented programming (7%)

Module 4: Exception handling and Text I/O

Unit 1: Exception Handling

  • Exception handling and its advantages
  • Types of exceptions
  • Developing applications using exception handling
  • Custom exception classes

Unit 2: Text I/O

  • Writing data to a file using the PrintWriter class
  • How to read data using a Scanner
  • Replacing text in a file

Assignment 4: Application of exception handling and text I/O (7%)

Module 5: Abstract Classes and Interfaces

  • Designing and applying abstract classes
  • How to specify common behaviour for classes
  • Implementing Comparable and Cloneable interfaces

Assignment 5: Write code using abstract classes and interfaces (7%), Final Exam (40%)



Sheridan Policies

It is recommended that students read the following policies in relation to course outlines:

  • Academic Integrity
  • Copyright
  • Intellectual Property
  • Respectful Behaviour
  • Accessible Learning
All Sheridan policies can be viewed on the Sheridan policy website.

Appropriate use of generative Artificial Intelligence tools: In alignment with Sheridan's Academic Integrity Policy, students should consult with their professors and/or refer to evaluation instructions regarding the appropriate use, or prohibition, of generative Artificial Intelligence (AI) tools for coursework. Turnitin AI detection software may be used by faculty members to screen assignment submissions or exams for unauthorized use of artificial intelligence.

Course Outline Changes: The information contained in this Course Outline including but not limited to faculty and program information and course description is subject to change without notice. Nothing in this Course Outline should be viewed as a representation, offer and/or warranty. Students are responsible for reading the Important Notice and Disclaimer which applies to Programs and Courses.


[ Printable Version ]

Copyright © Sheridan College. All rights reserved.