CMP 167 - Programming Methods I
Spring 2023 Syllabus

Course Information
Course Section Lecture Hours Location
CMP 167 - 01LB/LC Mo & We 1:00 pm - 2:40 pm Carman Hall, B04
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.


Course Description: 4 hours, 3 credits (as of Spring 2019 soon to be 4 credits - confirm with bulletin)

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 Computer Science.

Course Objectives:

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

  • Independently design, create, debug simple Java applications
  • Define and use variables of various data types
  • Use existing libraries and their methods
  • Manipulate Strings
  • Use control structures such as decision branching & iteration
  • Define and use methods
  • Demonstrate the use of parameters and information passing in programs
  • Manipulate 1 dimensional arrays
  • Create classes to represent objects

Grading Policy:

  • Participation & Challenge Activities (P&C) from Textbook: 10%
  • Homework Problems: 25%
  • Projects: 15%
  • Midterm: 25%
  • Final Exam: 25%

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.

Note: Missed final exam = Unofficial Withdraw (WU).

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.

You must complete all your homework assignments, projects, labs, and exams individually. This presents the best way to learn and absorb the material. Feel free to consult the textbook, the instructor, and the CS Tutoring Lab to help you solve problems.

You are allowed to discuss problems with classmates, but only in general terms, and you must specifically avoid discussing any solutions. If we find you plagiarizing and cheating, we will not accept "I didn't know" as an excuse.

You must also resist the urge to copy code from the web. Therefore, students in this course may not use any websites that enable cheating, such as by uploading or downloading material for this purpose. Use of these websites including uploading proprietary materials constitutes a violation of the academic integrity policy. Here are some of the websites you should avoid copying code from:

  • https://www.chegg.com/
  • https://www.coursehero.com/
  • https://www.bartleby.com/
  • https://www.answersaccess.com/
  • https://stackoverflow.com/
  • ChatGPT

Read the Lehman College Student Handbook for more information about cheating and plagiarism

WhatsApp, GroupMe, Discord, and Student-to-Student Communication:

In the past, students have created their own digital communication channels. While students may use digital communication tools such as WhatsApp, Discord, GroupMe, Slack, CircleIn App, Telegram, WeChat, etc. to communicate with fellow students. It is crucial to remember that academic integrity policies still apply in these environments. Providing information to others about the contents of examinations or quizzes is prohibited, as is receiving unauthorized information about examinations, projects or assignments. Also, sharing of homework, exam, or project solutions is strictly prohibited. Students are expected and required to immediately report instances of such violations to the instructor.

Avoid copying or sharing work on Social Media groups including, but not limited to, the following apps:

  • https://www.whatsapp.com/
  • YouTube
  • https://discord.com/
  • https://slack.com/
  • https://www.circleinapp.com/
  • Telegram
  • There are other similar social media apps that students use but not listed here too

Such websites or Apps may give you the answers you need, but they may also lead you to plagiarize.

Below are examples of work that may be considered plagiarized:

  • Copying from another student or representing someone else's work as your own.
  • Copying from the Web.
  • Working together with a group of other students on a non-group assignment
  • Using or obtaining unauthorized assistance in any academic work
  • Using unauthorized sources during an examination (other students, notes, internet etc).
  • Obtaining prior knowledge of examination questions or possessing a stolen copy of an examination.
  • Providing unauthorized assistance to another student.
  • Representing previously completed work as current without discussing it with the instructor

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 or Blackboard 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.

If you need help or have homework questions, do not hesitate to contact your instructor. Programming can be challenging, please start homework early so you will have time to ask questions in class, during office hours, or by email. You should also stop by your instructor’s office (make an appointment if office hours do not fit your schedule) if you have questions or want to review some of the material. We are here to help you learn and understand!

Materials and Resources:

Textbook: Zybook code: CUNYCMP167Spring2023

Technology:

Access to personal computers with Eclipse IDE, JDK 8,

You can find code examples from the lectures here

Please bring your laptops to class to follow along with the in-class coding examples.

Tutoring:

Departmental tutoring is available at the Computer Science Lab in Gillet Hall, Room 222.
Site: CS Lab
Email: cs.lab@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
1101/25/2023Syllabus, Introduction, IDE Installation, Zybooks, Java Basic SyntaxSyllabus & Chapter 1P&C Activity 1 is due 02/01/2023HW 1 Due on 02/01/2023
2201/30/2023Syllabus, Introduction, IDE Installation, Zybooks, Java Basic SyntaxSyllabus & Chapter 1
3302/01/2023Ch2 - VariablesChapter 2
4402/06/2023Ch2 - VariablesChapter 2P&C Activity 2 is due on 09/13/2022
5502/08/2023Ch2 - VariablesChapter 2
6X02/13/2023Lincoln’s Birthday
College closed – NO CLASSES
Chapter 2
7602/15/2023Ch2 - VariablesChapter 2HW 2 Due on 02/20/2023
8X02/20/2023President’s Day
College closed – NO CLASSES
Chapter 4
9702/21/2023Ch3 - I/OChapter 3P&C Activity 3 is due on 02/24/2023HW 3 Due on 02/28/2023
10802/22/2023Ch4 - Decision BranchingChapter 4
11902/27/2023Ch4 - Decision BranchingChapter 4P&C Activity 4 is due on 03/06/2023
121003/01/2023Ch4 - Decision BranchingChapter 4HW 4 Due on 03/08/2023
131103/06/2023Ch5 - Loops IntroductionChapter 5
141203/08/2023Ch5 - Loops Chapter 5P&C Activity 5 is due on 03/15/2023
151303/13/2023Ch5 - Loops Chapter 5HW 5 Due on 03/22/2022
161403/15/2023Ch5 - Loops & Q&A Project1Chapter 5
171503/20/2023Ch6 - Methods (void, input args, invocation, activation record & call stacks)Chapter 6
181603/22/2023Ch6 - Methods (void, input args, invocation, activation record & call stacks)Chapter 6P&C Activity 6 is due on 04/14/2023Project 1 Due on 04/04/2023
191703/27/2023Ch6 - Methods (void/value, decisions, loops, invocation, activation record & call stacks)Chapter 6
201803/29/2023Ch6 - Methods (void/value, decisions, loops, invocation, activation record & call stacks)Chapter 6
211904/03/2023Exam Review Chapters 1,2,3,4,5, & 6)
Questions & Answer Project 1
Chapters 1, 2, 3, 4, 5, & 6HW 6 Due on 04/14/2022
22X04/05/2023Spring recess
23X04/10/2023Spring recess
24X04/12/2023Spring recess
252004/17/2023In class Written Exam Online Midterm Exam is Available until 04/23/2023
262104/19/2023Ch7 - Arrays IntroChapter 7
272204/24/2023Ch7 - ArraysChapter 7
282304/26/2023Ch7 - ArraysChapter 7P&C Activity 7 is due on 05/03/2023HW 7 is due on 05/03/2023
292405/01/2023Ch8 - OOPChapter 8
302505/03/2023Ch8 - OOPChapter 8
312605/08/2023Ch8 - OOPChapter 8Project 2 is Due on 05/12/2023
322705/10/2023Ch8 - OOPChapter 8&C Activity 8 is due on 05/16/2023HW 2 is Due on 05/16/2023
332805/15/2023Review for Final ExamChapters 1, 2, 3, 4, 5, 6 7, & 8
342905/17/2023
353005/22/2023

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

Classroom Policies & Student Responsibilities

  • Set yourself up to succeed
  • Take notes in class
  • Read the syllabus and understand course policies
  • Keep track of dates for homework and exams
  • Take responsibility for your education and grades – Students have a common myth that because they pay tuition they deserve to receive a passing grade. Students earn grades in accordance with course grading policies and their grades. The grade that you receive is based on your achievement on the required assignments. You earned the grade.
  • Attend all classes and on time.
  • Submit all your work on time.
  • When having any academic difficulties, always seek assistance from your instructor.

Please note that this syllabus is subject to revision at any time by the instructor.