The goal of COMPSCI220 Programming Methodology is to turn you into an advanced programmer with a deep understanding of modern programming methodology. We will emphasize good software engineering skills, including programming abstractions, testing, and debugging. Nothing that we discuss in this class is language-specific. We will be using a strict style- and error-checked variant of JavaScript as the programming language for the class. However, everything that you will learn in the class will be applicable to other modern languages, including (for example) Swift, Rust, C#, Java, D, Python, Go, and C++.

After successfully taking this class, you will be able to:

  1. Write well-structured code
  2. Reason about program correctness
  3. Define thorough test suites to check for correctness
  4. Generate minimal, complete, and verifiable units of code to illustrate features (or bugs)
  5. Program in both functional and imperative programming styles, and understand when to use which

Gradescope sign-up instructions:

  1. Log in to gradescope using your UMass email address.
  2. Click on “Add a course”, and enter code 9E7E4V.
  3. Once signed up, course access link above will work.

Lectures, Discussion Sections


Lectures: TuTh, 2:30PM - 3:45PM, Engineering Lab II Room 119
Discussion sections: See Spire.

Course Staff


Important: Please do not email course staff individually, unless the situation is both dire and exceptional, and the subject warrants professor-level clearance. Instead, post a private question to instructors on Piazza.

Instructor
Joydeep Biswas, joydeepb@cs.umass.edu
Office hours: Fridays, 2-3:30PM, LGRC A325

Teaching Assistants
Sophia Berger
Lynn Samson
Jesse Goodspeed
Spencer Lane
Sam Lee
Chester Moses
Jorge Murillo
Emily Pruc

TA Office Hours at LGRT 220

  • Tuesdays, 10-11AM and 4-5PM
  • Wednesdays, 11AM-12PM
  • Thursdays, 4-5PM