General Information
Description: 3 hours, 3 credits:
This course presents an overview of computer science (CS) with an emphasis on problem-solving and computational thinking through 'coding': computer programming for beginners. Other topics include: organization of hardware, software, and how information is structured on contemporary computing devices. This course is pre-requisite to several introductory core courses in the CS Major. The course is also required for the CS minor. MATH 12500 or higher is strongly recommended as a co-requisite for intended Majors.
Course Format: This course is taught as a blend of in-person and on-line activities. Each week the course meets:
- 1.5 hours of in-person lecture (Tuesdays, 10:00am-11:15am, 118 Hunter North),
- 1.0 hours of labs to be completed by the students independently (links to the labs can be found in coursework), and
- 0.5 hours of in-person assessments (appointments available Mondays-Fridays, 11:30am-5:30pm, 1001G Hunter North).
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 programs, the lab exercises, the textbook and other assigned reading.
Lecture Participation: At every lecture (Tuesdays, 10:00am-11:15am), there will be a paper lecture slip to be submitted.
- The lecture slips contain a challenge to be solved in pairs or triples during lecture.
- Completed lecture slips (that include the names with who you worked) are given full credit.
- Turning in lecture slips will only help your gradescope.
- There are no make-ups for lecture slips. Instead, if you miss a lecture slip, your grade on the final exam will replace that grade.
Weekly Lab Exercises: Each week, there is a lab exercise that reinforces material from lecture and the reading and introduces pratical aspects of the material covered in lecture.
- These are available on the coursework webpage.
- Lab exercises can be completed at home or in 1001G where the laptops have all required software.
- To set up your home computer, see Lab 0 for installation instructions.
Homework: Programming exercises are posted on the class
website, usually two weeks before the due date. They reinforce concepts
covered in lecture and lab.
- As the semester progresses, the programs will require work on design and programming outside of class to complete. You should plan to spend approxiimately 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 5 PM on the due date via Gradescope.
- While every 5 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).
- No late homework is accepted. Instead, the highest 50 programming grades are used for your programming assignment total.
- While every 5 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 rate in the course. Students who work on assignments at the due dates are more likely to miss deadlines and fall behind.
Quizzes: Every week, there will be an quiz to be taken in 1001G HN, on the lecture notes, reading, and programming assignments.
- Quizzes are on paper (echoing the style of the final exam and the first pass of many programming job interviews). The exception is the bonus Quiz 0, based on the syllabus, which is available on Brightspace.
- No late quizzes are accepted. Instead, the lowest grades earned are dropped. The quiz grade is based on the highest 10 quiz grades.
- For the quizzes, you may not use any notes, books, or any computer device (laptop, phone, calculator, smart watch, etc.).
- Quizzes are offered 11:30am-5PM Mondays to Fridays, when classes are in session in 1001G HN. After the first week, appointments are strongly recommended (available via Navigate).
- There is extra credit for completing paper quizzes early (up to 10%). See coursework page for details.
Code Reviews: Every week, there will be an in-person code review on the recently submitted programs.
- For each code review, you choose one of the listed programs to explain verbally.
- Completing code reviews will only help your grade.
- There are no make-up code reviews. Instead, your score on the final exam will replace missing code reviews (the final exam will also replace a code review grade when you take the code review but do better on the final exam).
- Code Reviews are offered 11:30am-5PM Mondays to Fridays, when classes are in session in 1001G HN. After the first week, appointments are strongly recommended (available via Navigate).
- There is extra credit for completing code reviews early (up to 10%). See coursework page for details.
Final Exam: The final exam is required. It is comprehensive, covering all the material of the course. Sample and past exams are available on the course webpage.
You must take and pass the final (60 points or more) to pass the course.
Grades: Your overall grade is based on showing mastery of the material. Grading is not relative to how well you perform over others in the class, but, instead, it is based on your demonstration of mastery. The grading for the course will be based on:
- 20%: Programming Assignments.
- 30%: Quizzes.
- 10%: Code Reviews (your final exam grade will replace missing or low code review grades).
- 10%: Participation (lecture slips) (your final exam grade will replace any missing lecture slips grades).
- 30%: Final Exam (up to 50% if you do better on the final exam than on lecture slips and code reviews).
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 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. For the first incident of cheating or plagiarism your grade
will be a 0 and it will not be dropped as the lowest. For the second incident, you
will fail the class. Note that if you have previous incidents on file, the Office of Student Conduct may impose harsher santions than we propose.
As a general rule: submitting code that didn't come from the class webpages or textbook and you didn't type it, then it's cheating. More specifically:
- You can use code
from the textbook, lecture, and lab exercises unless otherwise specified in the assignment.
- If you need help writing programs for the course, tutoring is available Mondays to Fridays, 11:30am-5pm.
- While you are encouraged to discuss with others, all work submitted must be your own. Sharing your solution or debugging others' code is an academic integrity violation.
- You may not use code from the Internet (e.g. StackOverflow) nor seek help from online forums (e.g. Discord).
- You may not post your solutions to assignments and course deliverables where it
is accessible to others.
- While Large Language Models (e.g. chatGPT) can be used to assist in providing explanations and
suggestions. However, these tools may not be used to generate answers to graded assignments or projects. Do not upload the
assignment questions to an LLM as a prompt. Submitting such as your own work is a form of cheating and plagiarism.
Materials, Resources and Accommodating Disabilities
Textbook & Readings: The following free on-line book is required for the course:
Additional readings and tutorials are available on the
course outline.
Technology: This course uses multiple software tools and languages.
- Python: a programming language that is freely available across multiple platforms. See Lab 0 for details on obtaining it for your home computer.
- Unix: an operating system that underlies Ubuntu Linux as well as MacIntosh OSX.
- Brightspace: the learning management system used throughout CUNY. Accounts are provided automatically to all enrolled students.
- Gradescope: an automatic grading program from UC Berkeley. All programming assignments will be submitted to Gradescope. We also use Gradescope for grading paper quizzes, code reviews, and lecture slips. An email with access information will be sent to your email of record on Brightspace on Tuesday, January 21.
- Github: a freely available site for hosting and collaborating, particularly for programming.
- C++: a programming language that is freely available. We will use it
in the last third of the course. Information on downloading it for your computer will be available in Lab 12.
Computer Access:
University computers are available for this course in 1001G HN. 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.
If you don't have a laptop or home machine, reach out the Office of Student Affairs. Hunter College is committed to providing students the resources they need to succeed.
Tutoring: The CSCI 127 course offers peer-mentor tutoring with a wonderful staff of undergraduate teaching assistants (UTAs) to provide drop-in tutoring and assistance with the course. Tutoring is in the 1001G HN lab beginning Thursday, 30 January. WHen classes are in session, the lab is open from 11:30am-5pm Mondays through Fridays.
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 access and accommodations for all its registered students. Students with disabilities and medical conditions are encouraged to register with the Office of AccessABILITY for assistance and accommodation.
For information and appointment contact the Office of AccessABILITY located in Room E1214 or call (212) 772-4857 /or VRS (646) 755-3129.
Policies on Misconduct
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.
- Sexual Violence: Students are strongly encouraged to immediately report the incident by calling 911, contacting NYPD Special Victims Division Hotline (646-610-7272) or their local police precinct, or contacting the College's Public Safety Office (212-772-4444).
- All Other Forms of Sexual Misconduct: Students are also encouraged to contact the College's Title IX Campus Coordinator, Dean John Rose (jtrose@hunter.cuny.edu or 212-650-3262) or Colleen Barry (colleen.barry@hunter.cuny.edu or 212-772-4534) and seek complimentary services through the Counseling and Wellness Services Office, Hunter East 1123.
See
CUNY Policy on Sexual Misconduct Link.
Departmental 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.
Learning Outcomes
The successful student will be prepared with competencies and knowledge required for subsequent courses required for the Computer Science Major or Minor (see
departmental learning outcomes).
At the end of the course, students should:
- 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.
- be able to design and implement a simple C++ program using command line tools in a Linux environment, including navigating the Linux file system.
- understand the basic architecture of a digital computer to the extent that they can write a simple machine language program for a virtual architecture.
- be fluent in hexadecimal and binary numbering schemes.
- be able to understand boolean logic to the extent that they can design a simple binary circuit.
- understand the relationship between the operating system, application and utility software and how they interact with main memory, disk memory and the software development cycle.
- have been exposed to a small selection of more advanced computer science topics such as artificial intelligence, data science, networking, algorithm and data structure design, etc.
Change Policy
Except for changes that substantially affect implementation of the evaluation (grading) statement, this syllabus and the course outline is a guide for the course and is subject to change with advance notice.