CSci 227 Syllabus    Resources    Coursework



Syllabus
CSci 227: Programming Methods
Department of Computer Science
Hunter College, City University of New York
Spring 2024

Description: 3 hours, 3 credits: This course focuses on the program design process and practical programming skills, building on the previous programming experience from CSCI 127. Material will focus on more advanced topics such as structures for efficiently storing, sorting and accessing data, recursion, and code reuse. Program development and maintenance skills including debugging, testing, and documentation will also be taught.
There is no formal writing requirement for this course.
Prerequisites: CSci 127.
Instructors: Dr. Katherine St. John, professor (office hours) .
Course Email: csci227@hunter.cuny.edu.
Meetings:


Grading Policy

Expectations: Completing homework is an essential part of the learning experience. Students are expected to learn both the material covered in class and the material in the online Labs, the textbook and other assigned reading.

Course Format: This course is taught as a blend of in-person meetings and as well as online activities. Each week the course meets:

Lecture Participation: At every lecture, there will be a paper lecture slip to be submitted. Completed lecture slips are given full credit. Turning in lecture slips will only help your grade. There are no make-ups for lecture slips. Instead, the grade you earn on the final exam replaces any missing or low lecture slip when computing the final grade.

Quizzes: Every week, there will be a quiz to be taken in 1001G HN, on the lecture notes, reading, submitted programs, and programming assignments.

Code Reviews: Every week, there will be an in-person code review on the recently submitted programs.

Weekly Online Lab: Each week, you are expected to work through the associated Online Lab. These are available on the course webpage (you will need a computer with Python 3.6. See the first lab for installation instructions). Laptops will also be available in 1001G HN with all required software.

Homework: Programming exercises are posted on the class website, usually three weeks before the due date. They reinforce concepts covered in lecture and lab. Note that as the semester progresses, the programs will require work on design and programming outside of class to complete. You should plan to spend approximately 3 hours per week on programming exercises. To receive full credit for a program, the program must perform correctly, must include comments, be written in good style, and be submitted by 5pm on the due date.

While every 3 programs should be worked on the week of the corresponding lab, due dates are staggered to provide flexibility (should you be unable to work for a few days you need not miss the deadline). Students who work on the programming assignments the week of the corresponding lab tend to have greater success in the course.

Programs are submitted via gradescope. You can miss up to 5 programming assignments without affecting your grade (if you turn in all the programming assignments, we will drop the lowest 5 scores). No late homework is accepted.

Final Exam:

The final exam is required. It is comprehensive, covering all the material of the course. Sample exams will be available on the course webpage. You must take and pass the final (60 points or more) to pass the course.

Grades: The grading for the course will be based on:

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. As a general rule, do your own typing. Submitting work of others, or not safeguarding your work from copying, are academic integrity violations. You are responsible for knowing and following Hunter College's Academic Integrity Policy:

Hunter College regards acts of academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining unfair advantage, and falsification of records and official documents) as serious offenses against the values of intellectual honesty. The College is committed to enforcing the CUNY Policy on Academic Integrity and will pursue cases of academic dishonesty according to the Hunter College Academic Integrity Procedures.
All incidents of cheating will be reported to the Office of Student Conduct in the Vice President for Student Affairs and Dean of Students office.

Emergencies: We understand that emergencies happen during the term, and as such, we

See individual sections above for details. To respect your privacy, there is no need to provide documentation to take advantage of the dropping/replacing grades above. It is done automatically. If you are going to miss more than 2 weeks of class and associated work, contact us, so we can make arrangements for you to take the course in a future term.

Materials, Resources and Accommodating Disabilities

This is a zero cost course. All textbook materials are freely available to enrolled students.

Textbook & Readings: The following free on-line books are required for the course:

Additional readings and tutorials are available on the resources page.

Technology: This is a programming-intensive course in the Python programming language. See the resources page for obtaining Python and the packages used, links for the submitting assignments and assessments. All software used is freely available.

Computer Access: A computer (capable of running Python 3) is needed to complete the on-line assessments, and programming assignments and projects. Hunter College is committed to all students having the technology needed for their courses. If you are in need of technology, see Student Life's Support & Resources Page. University computer laboratories are available for this course in 1001G HN. These machines are for all students enrolled in a computer science at Hunter College. Given the limited number, work on those computers must be 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.

Tutoring: The college provides drop-in tutoring and assistance for courses in 1001G Hunter North. By appointment and drop-in tutoring is available from 11:30am-5pm Mondays to Fridays. We also provide discussion board and email help. More information is available on the course site on Blackboard.

Policy on Bullying: Bullying, cyberbullying, online hate, intimidation, threats, harassment, and pressure to share schoolwork are all forms of violence. CUNY holds a zero tolerance stance towards all such acts. The University is committed to prevention of any form of bullying, will respond promptly to threats and/or acts, and will protect victims of bullying from retaliation. As a criminal matter, the New York Attorney General defines cyberbullying as the use of email, websites, instant messaging, chat rooms, text messaging and digital cameras to antagonize and intimidate others. Disrupting a teleconferencing platform (such as Zoom/Skype/Blackboard Collaborate Ultra) is a federal crime.

Accommodating Disabilities: In compliance with the American Disability Act of 1990 (ADA) and with Section 504 of the Rehabilitation Act of 1973, Hunter College is committed to ensuring educational parity and accommodations for all students with documented disabilities and/or medical conditions. It is recommended that all students with documented disabilities (Emotional, Medical, Physical, and/or Learning) consult the Office of AccessABILITY, located in Room E1214B, to secure necessary academic accommodations. For further information and assistance, please call: (212) 772- 4857 or (212) 650-3230.

Hunter College Policy on Sexual Misconduct: In compliance with the CUNY Policy on Sexual Misconduct, Hunter College reaffirms the prohibition of any sexual misconduct, which includes sexual violence, sexual harassment, and gender-based harassment retaliation against students, employees, or visitors, as well as certain intimate relationships. Students who have experienced any form of sexual violence on or off campus (including CUNY-sponsored trips and events) are entitled to the rights outlined in the Bill of Rights for Hunter College.

See CUNY Policy on Sexual Misconduct Link.

Course Objectives

The successful student will be prepared with competencies and knowledge required for subsequent courses required for the Computer Science Major or Minor. At the end of the course, students should:

  1. Be able to design and implement a computer program in Python of realistic complexity that includes functions, list/array data structures, user and file I/O, loops and conditionals.
  2. Be able to implement an abstract data type, using object oriented programming techniques.
  3. Be able to analyze the running time of an iterative programming in terms of time and space.
  4. Be able to identify, formulate, and implement a solution to create substantial programs.