CSC113- Computer Programming II- Spring 2024
Course Description:
This course continues the coverage of the fundamental concepts of Object Oriented Programming started in Programming I (CSC 111). It covers more advanced concepts and topics such as relationships between classes, inheritance, polymorphism, abstract classes, error handling, interfaces, generics and data structures.
Course Objectives:
The main objectives of CSC113 are:
-
Improving student skills in handling arrays of objects.
-
Explaining relationships between classes such as inheritance, association, aggregation and composition.
-
Introducing advanced concepts such as Polymorphism, Exception Handling and Generics.
-
Presenting dynamic data structures, such us linked lists, stacks and queues.
-
Showing how to access object and/or binary files with Java.
Course Outcomes:
Upon completing CSC113, students should have the following capabilities:
-
Understand classes and instances, and how programs can be designed as a collection of communicating objects.
-
Understand and be able to design and implement programs using object oriented programming concepts like: encapsulation, inheritance, polymorphism, abstract classes and methods, and Interfaces.
-
Use standard documentation, such as UML class diagrams and online Java documentation.
-
Learn how to compile programs on at least one platform using command lines and / or IDE.
-
Create and manipulate dynamic data structures, such us linked lists, stacks and queues.
-
Create and access files with Java.
-
Design and Implement event-driven interactive programs.
-
Understand recursion and be able to write recursive algorithms for problems.