CMP 230: Programming Methods 1

Mathematics and Computer Science
Lehman College, City University of New York
Fall 2009


Instructor: Professor Gwang S. Jung
Email: gwang.jung@lehman.cuny.edu
Phone: 718-960-8785
Office: Gillet Hall (GH) 100-C

Lecture Schedule: T, H 6:00 -- 7:40 PM (There will be a lab session after two lectures; students must attend classes to know specific LAB schedules)

Office Hours: T, H   2:30 -- 5:00 PM; and other times by appointment


Course Objectives:

Introduction to object oriented programming and traditional structured programming concept by using a modern high level programming language Java.  Topics covered: keyboard-console I/O, data types, variables, control structures for branching and looping, function/method definitions and calls, parameter passing, functional decomposition by sub-tasking of a method, arrays, and introduction to objects and classes, polymorphism, and inheritance, simple graphical user interface programming and Java applets.  Debugging techniques are also introduced.

PREREQ: MAT 104 or placement by the Department of Mathematics and Computer Science

NOTE: For students who intend to major in computer science, some previous computer programming experience is recommended.

Textbook: 

 

Walter Savitch and Frank Carrano, Java: An Introduction to Problem Solving & Programming, 5th edition

Pearson Prentice Hall, ISBN: 0-13-607214-3

 

Evaluation:

 

2 Exams (90 minutes each) including mid and final exams: 50-60%

3 Assignments (Programming): 20-30%

Class and Lab Participation: 20%

 

Grading Scale: TBA; Exam Schedule: TBA

 

Makeup exam might be given only when a student's absence was unavoidable. In such a case, the student must file a formal written request.

 

Course Outline:          

 

 

Week

 

Lecture

 

Chapter

 

Topics

 

1

Overview computer system, Programming basics, introduction to Java programming language

1

Overview of computer system, program design and object oriented programming (OOP),  algorithms, testing & debugging, software reuse concept, overview of Java language, how do I write a java program and get it to run?

 

2,3

Basic computation

2

Java data types, variables, expressions., keyboard and console IO, documentation and style, introduction to String class for simple string processing

 

4,5

Control flow: branching statements

3

Flow of control in a program, compare values of primitive types and objects such as strings, branching statements: if-else, switch

 

    5,6

Flow of control: loops

4

Design a loop, while, do/while, for, nested loops, break, continue, tracing variables by assert

Programming Assignment 1

 

7,8

Defining classes and methods

5

Mid-term Exam (based on chapters 1-4)

Class concept, define a Java class, its methods, creating class objects, parameter passing, local variables, block structure, this keyword, introduction to Universal Modeling Language (UML)

 

9,10

More about objects and methods

6

Defining constructors, method overloading, enumeration as a class, package concept, structured programming methodology by dividing method tasks into subtasks, event-driven programming with an example

Programming Assignment 2

 

11, 12

Arrays

7

Creating and using arrays, searching and sorting techniques, multidimensional arrays

 

12, 13

Polymorphism and Inheritance

8

Inheritance, Java interface concept, abstract class, method overriding, constructors in derived class

Programming Assignment 3

14

Exceptions and Text File IO

sections of ch9 and ch10

15

Review for the final exam

Review chapters 5,6,7,8, 9, 10 (in part)

Question Banks will be made for the students

16

Final Exam: TBA

Lecture Notes:

References:

Assignments

Lab Exercises