Computer Science 0145-602, Fall 2019

Keywords: computer programming, CS1, javascript, computational thinking, critical computational literacy, problem solving

Description: This course introduces students to programming and some core concepts of computer science, using a modern, object oriented programming language. Students learn concepts of variables, functions, selection, repetition/loops, basic data structures (arrays, lists, hashtables), and basic object oriented programming.

We are looking at a society increasingly dependent on machines, yet decreasingly capable of making or even using them effectively.
― Douglas Rushkoff, Program or Be Programmed: Ten Commands for a Digital Age

Class meetings:

  • Section 001: Harvey 104, Thursday 4:30-6:20
  • Section 002: fully online

Instructor: Matthew X. Curinga,

Office hours:

  • Monday 1-2pm, Alumnae Hall Room 226A (Garden City campus)
  • Wednesday 4:30-5:30pm, online
  • Thursday 2:30-4:30pm, Alumnae Hall Room 226A (Garden City campus)
  • office hours by appointment

Learning Goals

  • understand the types of problems that can be solved using computational techniques
  • understand the basic concepts of computation (CPU, RAM, permanent storage, GUIs, file systems, network connections)
  • learn core computer programming concepts (abstraction, variables, conditions, functions, repetition, recursion)
  • think algorithmically to design and test computer programs
  • master the basic syntax and idioms of the Javascript programming language
  • use technical documentation, APIs, and the internet to learn new technical concepts
  • develop step-by-step problem solving and debugging practices

Required Books

Required Software/Online Accounts

Class Sessions

Week Date Topic Due
1 Aug 29 The way of the program -
2 Sep 05 Problem solving in computer programming Lab 1
3 Sep 12 Variables and data Lab 2
4 Sep 19 Functions and testing Lab 3
5 Sep 26 Conditions Lab 4
6 Oct 03 Repetition with while Lab 5
7 Oct 10 Strings and repetition with for study!
8 Oct 17 Midterm -
9 Oct 24 Arrays -
10 Oct 31 Objects & Sets Lab 6
11 Nov 07 JSON data Lab 7
12 Nov 14 Networks and files Lab 8
13 Nov 21 Graphs & Charts Lab 9
14 Nov 28 Final project design (Happy Thanksgiving) Lab 10
15 Dec 05 Final project workshops -
16 Dec 12 Finals Final project

Assignments and Grading

Assignment Pct Due date
Labs (10 total) 50% ongoing
Midterm exam 25% Oct 17
Final project 25% Dec 12

Labs (50%)

Most weeks there will be a programming lab due. Labs will consist of a single exercise that focuses on using the computer programming concepts we’re learning to solve a problem. Each lab will be worth 0-5 points. Roughly:

  • 0 points: for not turning in any work
  • 1-2 points: for a basic attempt, but code isn’t working or has fundamental flaws
  • 3-4 points (mostly) solution demonstrates mastery of relevant concepts
  • 5 points: solution works, demonstrates mastery of concepts, and is well formatted and clearly written

Everyone’s lowest grade will be thrown out (so your lab score will be the average of your 9 highest lab grades).

Midterm (25%)

The midterm will consist of 5 “short answer” styled problems where you write a function for each prompt to solve a specific problem. The short answer prompts will be very similar to the textbook exercises from Think JS. This section is worth 10 points.

Part 2 of the exam will require writing a longer program that consists of several functions. Students will choose to answer 1 of 3 possible problems. The program should demonstrate the student’s ability to break down a problem and write a working computer program that provides a solution.

Final project (25%)

For the final project you will work in a team of 2-3 people to create your own data analysis and visualization using a data set that is available for download or as a live open data set such as the NYC Open Data.

Of course, you may incorporate other data sets as you see fit.

The final solution will be scored using the following guide:

Solution (7 points)

How well does the program written solve the problem? Does the project seriously engage with the data? Does it use compute analysis to provide interesting insights? Is the data presented in a meaningful and usable way?

Your team’s ability to design a solution to the problem is evaluated by this measure.

Elegance & Robustness (8 points)

This area evaluates the quality of the computer code produced by the team. An elegant program provides a parsimonious solution that is both efficient and clear. A robust program is flexible and able to change. In the case of data analysis, it would be easy to modify if the input data changed or the output requirements are updated. It wouldn’t “break” if it encountered unexpected data, and would continue to operate even if the amount of data were increased dramatically. Often, both elegance and robustness are achieved through refactoring: the process of reflecting on code and revising it after an initial working solution is achieved.

Risk Taking (5 points)

Learning should be an adventure. One of the most exciting things about writing software is the sense of new possibilities and discovery. The “risk taking” aspect of your team’s grade will reflect the chances that you take with your project. Even if your solution isn’t quite what you hoped for, or your code isn’t as elegant as you’d like, it’s important that you take chances and try new things. To do well in this section, you might want to shoot for an ambitious, or complex analysis; or integrate some Javascript libraries or techniques that haven’t been explicitly covered in the course.

Code Style (5 points)

Your code should be well formatted and easy to read. Your functions and variables (aka “identifiers”) should have clear, meaningful names. Comments should be used sparingly, but appropriately to guide the human reader through your code.

All project members will receive the same grade.

Javascript Documentation and References

Books & Tutorials

University Policies and Resources

Student Access Office and Disability Accommodation

If you have a disability that may significantly impact your ability to carry out assigned coursework, please contact the Student Access Office (SAO) at 516-877-3806 or send an email to The staff will review your concerns and determine, with you, appropriate and necessary accommodations.

Please note that reasonable accommodations are also available for courses conducted through an online learning format. Due to the nature of online courses, some accommodations approved for in-person classes may not apply. Please allow for a reasonable time frame for requesting ASL Interpreters or Transcription Services.

Student Counseling Center (SCC)

The Student Counseling Center (SCC) provides confidential and professional virtual mental health counseling services, resources, and referrals to support the academic and personal success, health, and well-being of Adelphi students without additional charge. Especially with the additional stress resulting from the Covid-19 pandemic, students are encouraged to seek support from the SCC when needed. Counselors are available to help students cope with a variety of stressors and personal issues that may interfere with their academic and personal experiences. The Center also supports students who may be feeling suicidal or in crisis. To schedule an appointment, please call (516) 877-3646, email If you need immediate assistance, walk-in services are available during the fall and spring semesters Monday-Friday 9am-5:00pm. Additional information can also be found by visiting

Need support when the SCC is not available? For 24/7 emergency counseling, referral, or assistance, please contact:
Long Island Crisis Center (516) 679-1111
National Suicide Prevention Lifeline (800) 273-TALK (8255)
Crisis Text Line: Text PAWS to 741741
Adelphi Office of Public Safety:
Off campus: (516) 877-3511
On campus: Extension 5 on any campus phone
911 (for immediate health-related emergency)

The Center for Academic Support and Enrichment (CASE; formerly The Learning and Writing Centers)

CASE programs and services--like individual tutoring in writing and subjects across the curriculum, small group study sessions, academic coaching, and targeted workshops--help students explore, deepen, and extend their classroom learning. Support programming focuses on establishing foundational skills and techniques of studentship, like time management and note-taking. Enrichment services develop higher-order critical thinking skills and problem solving skills inherent in both abstractions and applications of curricular study.

Contact us as (or, at ext. 3200, or via our eCampus tab, to review our full slate of real-time (in person and remote) and asynchronous services. These are included in your tuition so you've already bought them! Don't miss out on the opportunity to supercharge your college experience! Many services require reservations, especially late in the semester. Reserve a spot on our scheduling portal, and/or join the self-directed virtual CASE LAB. Get on the CASE, and take your Adelphi experience to the next level.

The Adelphi Honor Code

The University is an academic community devoted to the pursuit of knowledge. Fundamental to this pursuit is academic integrity. In joining the Adelphi community I accept the University’s Statement of Academic Integrity and pledge to uphold the principles of honesty and civility embodied in it. I will conduct myself in accordance with ideals of truth and honesty and I will forthrightly oppose actions which would violate these ideals.

Code of Academic Honesty

The Code of Academic Honesty prohibits behavior that can broadly be described as lying, cheating, or stealing. Violations of the Code of Academic Honesty will include, but not be limited to, the following:

  1. Fabricating data or citations
  2. Collaborating in areas not approved by the professor
  3. Unauthorized multiple submission of one’s own work
  4. Sabotage of others’ work, including library vandalism or manipulation
  5. Plagiarism
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating
  10. Other forms of academic dishonesty

Copying and pasting from any source into your assignments or exams without quotation marks, citations and references, constitutes plagiarism. Students are expected to produce and submit original work and to cite all sources appropriately. Unauthorized collaboration on any work, or the presentation of someone else’s work as your own, is plagiarism. Content generated by an Artificial Intelligence third-party service or site (AI- generated content, e.g. ChatGPT) without attribution or authorization is also a form of plagiarism. Unless explicitly stated, artificial intelligence-based technologies, such as ChatGPT or word mixing software, cannot be used to generate responses (partial or otherwise) for student assignments or exams.

If you are unsure about what plagiarism or another form of academic dishonesty are, please reach out to me to discuss it as soon as possible. An allegation of an academic integrity violation of this section may be referred for further review and could result in disciplinary action.

Diversity statement

We value human dignity and diversity in all forms, embrace our differences, and honor all voices. We understand the collective power inherent in fully inclusive communities where each may meet their full potential to contribute.

Student Course Evaluations

During the last two weeks of the class, you will receive notification, via email and eCampus, that the course evaluation is available for your input electronically. Your feedback is valuable and students are strongly encouraged to respond. Please be assured that your responses are anonymous and the results will not be available to the instructor until after course grades have been submitted after the semester ends.

Religious observance policy

Adelphi University welcomes diversity in its community, and respects various religious observances. Students who anticipate being absent, due to their religious observance, are required by Adelphi University to notify their professors at the start of the semester. This will allow the faculty to take these observances into consideration in light of their course exam and assignment schedules. Students absent from class, clinical experiences, practice, labs, etc. on those days, after prior notice to the professor, will not be penalized for any exam or assignment deadline missed because of those absences. Students must contact the instructor to work out suitable arrangements for make-ups or other satisfaction of academic requirements. adelphi university
Creative Commons License
Introduction to Programming was created by: This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at

Last modified: Tuesday, 29. August 2023 02:19PM