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