CMP 326
Programming Methods II

Course Information
Course Section Lecture Hours Location
Contact Information
Instructor: Steven Fulakeza Email: steven.fulakeza(at)lehman.cuny.edu
Phone: NA Office Location: GI 232
Office Hours: Mondays & Wednesdays from 12:50 pm to 1:50 pm and 03:50 pm to 4:50 pm
Instructor Availability: I reply to students' emails regularly but please note that I do not typically check email or Slack messages during late hours on weekdays, and I do not check these at all on the weekends in order to devote time to family, rest, and religious observances. Messages received during these times will receive attention once I am back online.

Lecture Schedule for Section 01: Mondays and Wednesdays: 1:00 PM - 2:40 PM (GI 217)


Lecture Schedule for Section ZF81: Mondays and Wednesdays: 6:00 PM - 7:40 PM (GI 219)

Course Description: 4 hours, 4 credits

Continuation of parameter passing with a focus on devising function definitions and tracing recursive calls. Sorting and searching algorithms and a comparison of their performance. GUI programming. Threads, Exceptions, and Exception Handling. Object-Oriented Programming techniques.

Course Objectives:

On successfully completing this course, students should be able to:

  • Write Java programs using polymorphism and inheritance.
  • Write Java programs using exception handling.
  • Write programs with stream and file I/O.
  • Write Java programs that use recursion.
  • Independently write and debug programs.
  • Read and understand programs written by others.
  • Write Java programs that use:
    • Array-based data structures
    • The Java Collections Framework
    • Linked Data Structures

Textbook:

Introduction to Programming Using Java, Seventh Edition (Version 7.0, August 2014), by David Eck

Textbook Web Site:

Available online at: http://math.hws.edu/javanotes/

Textbook PDF

Technology:

This course uses the Java programming language. Students will need to have access to personal computers with the Java IDE, Eclipse, software installed. Such computers are available for student use on campus. For students with their own computers, Java and Eclipse are available free of charge on the internet. It is also available on the department computers in Gillet Hall.

Computer Use and Access:

You have access to computers in the Math Computer Science Learning Center (Math Lab) in Gillet Hall 222, and the IT Center.

These machines are for academic use only and a code of conduct applies to computer use in the department and on-campus. Misusing university computers could result in losing your computer access for the rest of the semester, making it exceedingly difficult to complete this course.

Tutoring:

Departmental tutoring is available in the Math Computer Science Learning Center (Math Lab), Gillet Hall, Room 222.

Click Here to get Tutoring schedule

Honor Code, Academic Integrity and Plagiarism Policy:

Students are encouraged to study together. However, you must do your own work for all your homework assignments, projects and exams. You should never copy code or antwork from the internet or another student. You are responsible for knowing and following Lehman's academic integrity code (available from the Undergraduate Bulletin, Graduate Bulletin, or the Office of Academic Standards and Evaluations).
All incidents of cheating will be reported to the Vice President of Student Affairs.

Accommodating Disabilities:

Lehman College is committed to providing access to all programs and curricula to all students. Students with disabilities who may need classroom accommodations are encouraged to register with the Office of Student Disability Services. For more info, please contact the Office of Student Disability Services, Shuster Hall, Room 238, phone number, 718-960-8441.

Grades:

Your grades will be computed based in the following

  • Homework Assignment: 30 %
  • Exam 1: 20 %
  • Exam 2: 20 %
  • Final Exam: 30 %

The final exam is comprehensive.

Homework Assigment:

There will be several homework assignment throughout the semester. Students must work on their own assignments. No late assignments will be accepted.

Attendance:

Students are expected to attend lectures and labs regularly and promptly. In the event of illness, or injury, students should notify me. Students who miss a class are responsible for learning materials presented in class and read relevant textbook portions. If you need help, please do not hesitate to contact me or come to my office hours.

Announcements:

TBA


Tentative Schedule:

Below is our tentative schedule. We are going to try to keep with this schedule bt I will be updating this schedule on a regular basis. I recommend reading the materials from the textbook before coming to class everyday. It is also important that you study the end-of-chapter exercises.

Date Readings Slides
Aug 27, 29 Syllabus, and introduction to command line terminal Class notes
Aug 29 Sections 1.1, 1.2, 1.3, 2.1: Introduction to computing and Java. Sections 1.4–1.6 are recommended reading. Class notes
Sep 5 Sections 2.3, 2.3–2.5: Basic building blocks of programs Class notes
Sep 5, 12 Sections 3.1–3.5: Programming with loops and branches, Additional control structures. Section 3.8: Introduction to Arrays Class notes
Sept. 17, 19 Class notes
Sept. 24 Class notes
Sep 26 Class notes
Oct 1 Class notes
Oct 3 Class notes
Oct 8 Class notes
Oct 10 Class notes
Oct. 15 Exam 1 Review Materials
Oct. 24 Class notes
Oct. 24 Class notes
Oct. 29, 31 Class notes
Nov. 5, 7, 12 Class notes
Nov. 14 Class notes
Nov. 19 Class notes
Nov. 21 Exam 2 Class notes
Nov. 26, 28, Dec. 3 Class notes
Dec. 5, 10 Class notes
Dec. 12 Final Exam Review Class notes

Homework Assigments:

TBA