George Mason University

Computer Science Department

CS 112-001
Introduction to Programming Language


Sam M. Sainju

Room: 430 Sci. & Tech. II
Email: sainju@jhu.edu
Phone: (703) 993-1530

 

Teaching Assistant and Lab Assistant:

  1. Aparna Nagargadde ; Email: anagarga@gmu.edu
  2. Zhaohui Wang; Email: zwange@gmu.edu


Office hours: Monday & Wednesday 7:10-8:10 and by appointment. The course website is at http://cs.gmu.edu/~sainju/cs112

 

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

Texts

Cay Horstmann Java Concepts 5th Edition Wiley & Sons 2007

 

Description: CS 112

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

Grading

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

 

Quiz

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

 

Quiz

Week 3: June 18th and June 20th

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

 

Arrays, List, multi-dimensional array

Quiz

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)

Quiz

Week 7: July 16th and July 18th

Object Oriented Design, Relationships between classes

Recursion and basic data structure (sort and search)

Quiz

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)

 

Labs:

Science and Tech I, Room # 128,

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