course
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.