CMP 167
Programming Methods I

Course Information
Course Section Lecture Hours Location
CMP 167 - 01 LC/LB M & W, 9 AM - 10:40 PM GI 231
CMP 167 - 02 LC/LB M & W, 1 PM - 2:40 PM GI 217
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, 3 credits

Structured computer programming using a modern high-level programming language. Includes console I/O, data types, variables, control structures, including iteration, arrays, function definitions and calls, parameter passing, functional decomposition, and an introduction to objects. Debugging techniques.

Note: This course is for students who intend to major in Computer Science, Mathematics, Computer Graphics and Imaging, or the sciences. Some previous computer programming experience is recommended. Not intended for students in Accounting or Computer Information Systems; the technical content is the same as CIS 166 but the emphasis is different.

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

Course Objectives:

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

  • Understand and explain how computers and programs work
  • Independently design, create, debug simple Java applications
  • Define and use variables of various data types
  • Define and use methods
  • Demonstrate the use of parameters and information passing in programs
  • Use libraries from the java.util package such as Scanner, Math
  • Understand and manipulate Strings
  • Understand and use arrays
  • Understand and use control structures such as decision branching & iteration
  • Understand objects and perform simple graphic programming GUI (time permitting advanced topic)

Grading Policy:

  • 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.

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.

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.

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:



Tentative Schedule:

Below is our tentative schedule. We are going to try to keep with this schedule. I will be updating this schedule on a regular basis if there are some changes. I strong urge you to read materials from the textbook before coming to class everyday.

Week Day Date Topic P&C Due Dates HW Due Dates
1108/28/2019Intro, Syllabus, Book, Chapter 1 P&C Activity 1 Due 09/02
1X09/02/2019Labour Day - No class
2209/04/2019Chapter 1
2309/05/2019Ch2 - Variables
3409/09/2019Ch2 - Variables P&C Activity 2 Due 09/10 HW 1 (Reinforce Ch1) Due 09/09)
3509/11/2019Ch3 - I/O
4609/16/2019Ch3 - I/O P&C Activity 3 Due 09/17 HW 2 (Reinforce Ch2) Due 09/16
4709/18/2019Ch4 - Decision Branching
5809/23/2019Ch4 - Decision Branching P&C Activity 4 Due 09/24 HW 3 (Reinforce Ch3) Due 09/23
5909/25/2019Ch5 - Loops
6X09/30/2019No classes scheduled P&C Activity 5 Due 10/14 HW 4 (Reinforce Ch4) Due 10/02
61010/02/2019Ch5 - Loops
71110/07/2019Ch5 - Loops
7X10/09/2019No classes scheduled
8X10/14/2019Columbus Day - College closed- NO CLASSES P&C Activity 5 Due 10/14 HW 5 (Reinforce Ch5) Due 10/14
81210/16/2019Ch6 - Methods begin (void - input args, invocation, activation record and call stacks)
91310/21/2019Ch6 - Methods begin (value return - input args, invocation, activation record and call stacks)
91410/23/2019Project 1 Presentations Due
101510/28/2019Review for Exam (ch 1,2,3,4,5, 6 partial)
101610/30/2019Exam Midterm
111711/04/2019Ch6 - Methods (incorporating decisions & loops)
111811/06/2019Ch6 - Methods (incorporating decisions & loops) P&C Activity 6 Due 11/06
121911/11/2019Ch7 - Arrays HW 7 (Reinforce Ch6) Due 11/11
122011/13/2019Ch7 - Arrays in methods
132111/18/2019Ch7 - Arrays
132211/20/2019Ch7 - Arrays in methods)
142311/25/2019Ch8 - OOP P&C Activity 7 Due 11/26
142411/27/2019Ch8 - OOP
152512/02/2019Ch8 - OOP
152612/04/2019Buffer
162712/09/2019Project 2 Presentations Due P&C Activity 8 Due 12/03 HW 8 (Reinforce Ch8) Due 12/12
162812/11/2019Review For Final Exam
172912/16/2019Final Exams

Homework Assigments:

If you will be using yourown personal computer, please install JDK and Eclipse. the Installation follow the links on the bottom of this page


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