CMP 167
Programming Methods I
Fall 2022 Syllabus

Course Information
Course Section Lecture Hours Location
CMP 167 - 01LB/LC & 1HCFLB/LC Mo & We 2:00 pm - 3:40 pm Gillet Hall, Room 024
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

Grading Policy:

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

All your assignments: P&C, Homework and Projects are submitted through your zyBooks. All assignments have strict due dates. Late submissions are NEVER accepted. All assignments allow for unlimited attempts to submit via zyBooks prior to the deadline.

For each assignment, the highest earned submission score will be recorded.

Expectations: Students are expected to attend the lecture and participate in the associated lab section. Students are expected to learn the material covered in the lecture, the lab, and the textbook as well as any other assigned reading or exercises. Students are expected to actively participate in the slack communication channel and regularly check for messages or announcements. Students are expected to complete homework as an essential part of the learning experience. Students should review topics from prior courses as needed using old notes and books. All work must be your own.

Honor Code: You are encouraged to discuss the overall design of programs and homework. However, all work must be your own for all programs and homework assignments. Any sources used in the completion of your assignment must be explicitly quoted. 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.

Communication: We will be communicating with you on a regular basis throughout the semester using slack. Occasional emails will also be sent out via CUNYFirst to the email address you provided. You must check for messages on a regular basis. There will be no acceptable excuse for missing an announcement.

Homework: Programming problems are due most weeks. Problems will be in your online textbook. 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 as per the assignment specifications and zyBooks test cases.
Late submissions are NOT accepted.
Unlimited attempts to submit via zyBooks are permitted prior to the deadline.
The submission with the highest grade will count as your grade for the assignment.
ONLY submissions via zyBooks will be accepted and scored via the automated test cases.

Materials and Resources:

Textbook: Zybook code: CUNYCMP167Fall2022

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.
site: mcslclehman.wordpress.com email: mcs.learningcenter@lehman.cuny.edu

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.


Tentative Schedule:

Week Day Date Topic Reading Materials P&C Due Dates HW
1108/29/2022Syllabus, Introduction, IDE Installation, Zybooks, Java Basic SyntaxSyllabus & Chapter 1P&C Activity 1 is due 09/01/2022HW 1 Due on 09/01/2022
2208/31/2022Syllabus, Introduction, IDE Installation, Zybooks, Java Basic SyntaxSyllabus & Chapter 1
3X09/05/2022Labor Day
College closed – NO CLASSES
Chapter 2
4309/07/2022Ch2 - VariablesChapter 2P&C Activity 2 is due on 09/15/2022
5409/12/2022Ch2 - VariablesChapter 2HW 2 Due on 09/22/2022
6509/14/2022Ch2 - VariablesChapter 2
7609/19/2022Ch2 - VariablesChapter 2P&C Activity 3 is due on 09/28/2022HW 3 Due on 09/28/2022
8709/21/2022Ch3 - I/OChapter 3HW 3 Due on 09/28/2022P&C Activity 3 is due on 09/28/2022
9X09/26/2022No classes scheduledChapter 4
10809/28/2022Ch4 - Decision BranchingChapter 4
11909/29/2022Ch4 - Decision BranchingChapter 4
121010/03/2022Ch4 - Decision BranchingChapter 4HW 4 Due on 10/12/2022P&C Activity 4 is due on 10/06/2022
13X10/05/2022No classes scheduledChapter 5
14X10/10/2022Columbus Day
College closed – NO CLASSES
Chapter 5
151110/12/2022Ch5 - Loops IntroductionChapter 5HW 5 Due on 10/27/2022P&C Activity 5 is due on 10/24/2022
161210/17/2022Ch5 - Loops Chapter 5
171310/19/2022Ch5 - Loops Chapter 5
181410/24/2022Ch5 - Loops & Q&A Project1Chapter 5Project 1 Due on 11/02/2022
191510/26/2022Ch6 - Methods (void, input args, invocation, activation record & call stacks)Chapter 6
201610/31/2022Ch6 - Methods (void/value, decisions, loops, invocation, activation record & call stacks)Chapter 6
211711/02/2022Ch6 - Methods (void/value, decisions, loops, invocation, activation record & call stacks)Chapter 6
221811/07/2022Exam Review Chapters 1,2,3,4,5, & 6)
Questions & Answer Project 1
Chapters 1, 2, 3, 4, 5, & 6
231911/09/2022Ch7 - Arrays IntroChapter 7
242011/14/2022Ch7 - ArraysChapter 7
252111/16/2022Ch7 - ArraysChapter 7
262211/21/2022Ch7 - ArraysChapter 7
272311/23/2022Ch8 - OOPChapter 8
282411/28/2022Ch8 - OOPChapter 8
292511/30/2022Ch8 - OOPChapter 8
302612/05/2022Ch8 - OOPChapter 8
312712/07/2022Q&A Projects, Review for Final ExamChapters 1, 2, 3, 4, 5, 6 7, & 8
322812/12/2022Review for Final ExamChapters 1, 2, 3, 4, 5, 6 7, & 8
332912/14/2022Reading Day
Deadline to withdraw with a grade of W
Chapters 1, 2, 3, 4, 5, 6 7, & 8
343012/19/2022

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