CMP 168
Programming Methods II

Course Information
Course Section Lecture Hours Location
CMP 168 - 01FY M & W 11:00 AM - 12:40 PM Online using Blackboard Ultra
Contact Information
Instructor: Steven Fulakeza Email: steven.fulakeza(at)lehman.cuny.edu
Phone: NA Office Location: GI 232
Office Hours: Mon and Wed 1:40 pm to 3:40 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.


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. Lab exercises include designing, writing and debugging programs using commercial IDEs.

Prerequisite:

A grade of B- or better in CMP 167 or Departmental permission.
CIS 166 may be used as a PREREQ with Department Permission.

Course Objectives:

By the end of the course students should be able to read and write java code that does the following:

  1. Demonstrate OOP through proper use of encapsulation, polymorphism and inheritance.
  2. Independently design, create, debug Java Applications
  3. GUI (Graphical User Interface) for desktop applications
  4. Perform decision branching using if-else statements, switch cases
  5. Perform iteration using loops for, while, do-while
  6. Use Recursion to solve problems
  7. Manipulate Arrays 1 Dimensional & 2 Dimensional
  8. Manipulate Strings
  9. Use Streams and perform File I/O
  10. Demonstrate use of Exception Handling
  11. Popular Sorting Algorithms (Bubble, Selection, Insertion, Merge)
  12. Popular Searching Algorithms (Sequential, Binary)

Grading Policy:

Your grades will be computed based in the following

  • Participation & Challenge Activities From Textbook: 10%
  • Homework Problems: 15%
  • Projects: 15%
  • Midterm: 30%
  • Final Exam: 30%

Expectations: Students are expected to learn both the material covered in class and the material in the textbook and other assigned reading. Completing homework is an essential part of the learning experience. Students should review topics from prior courses as needed using old notes and books.

Honor Code: You are encouraged to work together on the overall design of the programs and homework. However, for specific programs and homework assignments, all work must be your own. You are responsible for knowing and following Lehman's academic integrity code (available from the Undergraduate Bulletin, Graduate Bulletin, Office of Academic Standards and Evaluations, or the Smart Catalog). All incidents of cheating will be reported to the Vice President of Student Affairs.

Email: We will be communicating with you on a regular basis throughout the semester using the email address you provide us on day 1 of this course. You must check that email address on a regular basis. There will be no acceptable excuse for missing an email announcement.

Homework: Programming problems are due most weeks. Problems will be in your online textbook (see below). These programming problems reinforce concepts covered in class. To receive full credit for a program, it must be completed by the specified due date and the program must perform correctly. You will be allowed to submit your solution multiple times, the submission with the highest grade will count as your grade.

Materials and Resources:

Textbook: ZyBook code: CUNYCMP168Spring2020

Technology:

Access to personal computers with Eclipse IDE, JDK 8, Java 8 Documentation .

Tutoring:

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

Computer Access:

Part of this course will use university computer laboratories. These machines are for work related to this course 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 term, making it exceedingly difficult to complete this course.

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.

Announcements:

  • The Blackboard Portion of the Midterm Exam will be on Monday, April 06, 2020 at starting a 11 am
    and the ZyBook Portion of the Midterm Exam will be from 04/01/2020 starting at 12:01am to 04/05/2020 by 11:59pm
  • The final exam will be on Wednesday, May 20, 2020 from 11:00am to 1:00pm

Tentative Schedule:

Week Day Date Topic P&C Due Dates HW
1101/27/2020Intro, Syllabus, Book, Chapter 2
1201/29/2020Ch2, Ch3 - Variables, I/O
2302/03/2020Ch4, Ch5 - Decision Branching, Loops
2402/05/2020Ch6, Ch7 - Methods, Arrays 1D P&C Activity 1 (Review Ch 2,3,4,5) Due 02/09 11:59pm HW1 (Review Ch 2,3,4,5) Due 02/09 11:59pm
3502/10/2020Ch8 - Objects and Classes
3X02/12/2020No class P&C Activity 2 (Review Ch 6,7) Due 2/16 11:59pm HW2 (Review Ch 6,7) Due 02/16 11:59pm
4X02/17/2020No class
4602/19/2020Ch8 - Objects and Classes
5702/24/2020Ch8 - Objects and Classes
5802/26/2020Ch8 Objects and Classes, Ch9 - Inheritance P&C Activity 3 (Ch 8) Due by 02/27
6903/02/2020Ch9 - Inheritance HW 3 (Reinforce Ch8) Due by 03/03 11:59pm
61003/04/2020Ch10 - Abstract Class and Interfaces P&C Activity 4 (Ch 9) Due by 03/05
71103/09/2020Ch10 - Abstract Class and Interfaces
71203/11/2020Ch11 - Exceptions, Project 1 is available HW 4 (Reinforce Ch9) Due by 03/11 11:59pm
8X03/16/2020COVID-19 Recess P&C Activity 5 (Ch 10) Due by 03/16
8X03/18/2020COVID-19 Recess P&C Activity 6 (Ch 11,12) Due by 03/18 HW 5 (Reinforce Ch10) Due by 03/18 11:59pm
91303/23/2020Ch12 - File I/O
91403/25/2020Ch12 - File I/O
101503/30/2020Project 1 Due & Review for Exam (ch 1 to 12)
101604/01/2020Midterm Exam P&C Activity 7 (Ch 13) Due by 04/05
111704/06/2020Ch13 - 2D Arrays
111804/07/2020Ch14 - GUI - Wednesday Schedule HW 6 (Reinforce Ch11,12) Due by 04/07
12X04/08/2020Spring Break
121904/13/2020Ch14 - GUI
132004/15/2020Ch14 - GUI
132104/20/2020Ch14 - GUI
142204/22/2020Ch15 - Recursion P&C Activity 8 (Ch 14) Due by 04/26
142304/27/2020Ch15 - Recursion, Project 2 is available
152404/29/2020Ch15 - Recursion
152505/04/2020Ch15 - Recursion P&C Activity 9 (Ch 15) Due 05/05 11:59pm
162605/06/2020Project 2 Presentations
162705/11/2020Final Exam Review
172805/13/2020Study for your final HW 7 (Reinforce Ch15) Due by 05/13
172905/18/2020Final Exam Wednesday, May 20 11:00am - 1:00pm
183005/20/2020

If you will be using your personal computer, please install JDK and Eclipse.


Java Development Kit(JDK) Download and Installation:

Click here for Java SE Development Kit 8 Downloads
Download Java SE Development Kit 8. Open the downloaded file and follow the installation instructions


Eclipse Download:

Click here for Eclipse Download
Download Eclipse. Open the downloaded file and follow the installation instructions