Course Title: Programming II
Course Code: CS 121
Credit Value: 4 Credits

Contact Hours

Duration: 15 Weeks (One Semester)

Prerequisite: Programming I

1. COURSE DESCRIPTION

This course builds upon the foundations established in Programming I and provides an in-depth study of object-oriented programming using Java. Students learn advanced programming concepts and techniques for developing modular, reusable, and maintainable software systems.

Topics include classes and objects, encapsulation, inheritance, polymorphism, abstract classes, interfaces, exception handling, recursion, generic programming, collections, and graphical user interface fundamentals. Laboratory exercises emphasize software design, debugging, testing, and the development of medium-sized applications using object-oriented principles.

The course prepares students for advanced courses in software engineering, data structures and algorithms, databases, and application development.

2. COURSE OBJECTIVES

By the end of this course, students should be able to:

3. LEARNING OUTCOMES

Upon successful completion, students will be able to: