Skip to Main Content

CS102

Download as PDF

Programming Fundamentals II

SCIS Sch of Computing & Info Sys

Course (UG/PG)

Undergraduate

Offering Unit/Department

Course Description

This course focuses on fundamental concepts of developing programs using an object oriented approach. There will be an emphasis on writing clean and efficient code, and the ability to use an appropriate data structure or algorithm to solve problems. The Java programming language will be taught in depth.

Course Learning Outcomes

1. Demonstrate an understanding of the object oriented programming concepts of Class and Object

2. Demonstrate an understanding of inheritance:

a. Explain the benefits of inheritance.

b. Create a class which extends a parent class

c. Override and overload parent class methods within a child class.

d. Distinguish between inheritance of implementation (extends) and inheritance of design (implements).

3. Demonstrate an understanding of Object Oriented Design

a. Use visibility modifiers (private, "default", protected and public) to implement appropriate abstraction and encapsulation.

b. Explain cohesion and coupling

c. Write a program which demonstrates polymorphism

4. Demonstrate an understanding of exceptions

a. Describe exceptions.

b. Write custom exceptions.

c. Implement code that propagates and catches exceptions.

5. Write simple DOS batch files (e.g. compile & run)

6. Read UML class diagram and sequence diagram and translate them to code

7. Use arrays to solve problems.

8. Use Java packages to categorise Java files

9. Use basic data structures: lists, sets and maps

10. Use external libraries, and understand the workings of CLASSPATH.

Discipline-Specific Competencies

Software Design, Agile Software Development, Applications Development, Algorithm Analysis, Software Testing

SMU Graduate Learning Outcomes

Disciplinary Knowledge, Critical thinking & problem solving, Self-directed learning

Grading Basis

GRD - Graded

Course Units

1