George Mason University

Computer Science Department

CS 112-001
Introduction to Programming Language

Sam M. Sainju

Room: 430 Sci. & Tech. II
Phone: (703) 993-1530


Teaching Assistant and Lab Assistant:

  1. Aparna Nagargadde ; Email:
  2. Zhaohui Wang; Email:

Office hours: Monday & Wednesday 7:10-8:10 and by appointment. The course website is at


Class meeting: Room # DK 1006 from 4:30 pm 7:10 pm


Cay Horstmann Java Concepts 5th Edition Wiley & Sons 2007


Description: CS 112

This is a 4-credit course on basics of computer programming language.


In addition to the programming project there will be a midterm and a final exam. Makeups on exams will not be given except for very good reason (as judged by me) and only when arranged in advance. The course grade will be computed from:

1 Programming Project: 20%

Lab work: 10%

Attendance: 05%

Quizzes: 10%

Midterm: 25%

Final: 30%

Total 100%


Course Outline for each week


Week 1: June 4th and June 6th

Basics of computer and computer programming, Editor and compiler, machine language, Compiling a simple program and error checks, compiling process.


Types, variables, operators, objects, classes, and methods, return type, number types, constructing objects, accessor and mutator methods



Week 2: June 11th and June 13th

Levels of abstraction, private and public class, instances


Data types, number, constants, assignment and increment and decrement, arithmetic operations and mathematical functions, string



Week 3: June 18th and June 20th

Truth table, If then else, comparing, Boolean expressing, while, for, nested loops.


Arrays, List, multi-dimensional array


Week 4: June 25th and June 27th

Choosing classes, Cohesion and Coupling, accessors, mutators and immutable classes, Precondition & Postconditions, static methods and statics fields, scope.


Review for mid term Exam.


Mid Term Exam on July 27th


Week 5: July 2nd and July 4th

Interfaces & Polymorphism


July 4th (Independence Day holiday)

Week 6: July 9th and July 11th


Inheritance and polymorphism

Input and Output (Reading and writing text files)


Week 7: July 16th and July 18th

Object Oriented Design, Relationships between classes

Recursion and basic data structure (sort and search)


Week 8: July 23rd and July 25th

Basic data structure continued (search and sort)

Programming Project due: mid night on July 23rd.

Final Exam review

Final Exam (July 25th)



Science and Tech I, Room # 128,

M W 3:20pm -4:20 pm and/or 7:20 pm 8:20 pm