CSC 111: Computer Programming

Course Objectives:

The course aims at giving the students a broad foundation in the fundamental concepts of object oriented programming accompanied by specific labs to develop the basic skills in object oriented programming with Java. It introduces the basic concepts and principles of the Object Oriented approach such as: (1) Abstraction and Encapsulation principles, (2) Classes, objects and the constructor concepts, (3) Information hiding principle and the assessors concept, (4) methods, and (5) the message passing and the overloading principles.

Course Outcomes:

  1. To understand the fundamental principles of object-oriented programming.
  2. To be able to read and understand Java programs.
  3. To apply fundamental object-oriented principles in writing programs using Java.
  4. To be familiar with the Unified Modeling Language (UML).

The Textbook

  • Java: An Introduction to Problem Solving and programming, 7E, W. Savitch, Pearson International (Textbook)
  • Java How to program Deitel and Deitel (Seventh edition) Pearson International (reference)
  • Introduction to Java Programming, Comprehensive Version, 10E Y. Daniel Liang, Prentice Hall (reference)

Schedule plan

Week Number  
1 Administrivia
Introduction to computers and Java: computer basics, Java, programming basics
2 Variables, Data Types, Identifiers, Assignment
Simple Input / Output
3 Constants, Type Casting, Arithmetic Operators, Operator precedence
Case study: vending machine change
4 Increment and decrement, keyboard and screen I/O, documentation and Style
Basic if-else statement, boolean expressions
5 Nested if-else statement, multibranch if statement
Case Study, exit Method (conditional operator not included)
Comparing strings, The type boolean
6 Switch statement (enumeration not included)
The while statement
do-while statement, programming example
7 For statement (for-each not included)
Nested loop
Programming with loops, loop bugs, tracing variables (break and continue, assertion not included)
8 Classes: Instance variable, UML
Programming Example
Methods, void Method, Method that return a value
9 The keyword this, Local variables, blocks
Parameters of a primitive type
Information hiding, public and private modifiers
10 Accessor(getters) and mutator methods(setters), Encapsulation, UML class diagram
Methods calling methods
11 Variable of class type (references)
Defining and equals method for a class, Parameters of class type
12 Static variables and methods
Array basics
13 Array basics programming example
Arrays in classes and methods
Array of objects
14 Operations on array of objects (add, search, delete)
15 Revision