CS15 is one of the introductory Computer Science courses offered at Brown University.
This course introduces students to Computer Science through object-oriented design and programming, using Java and the JavaFX graphics library. You will use these tools for building interactive programs with graphical user interfaces.
CS15 reinforces concepts with practical exercises in weekly lab sessions and with challenging and engaging programming assignments, such as Doodle Jump and Tetris!
There are no prerequisites for CS15 and the course expects no prior programming experience.
TA Email
cs0150tas@lists.brown.edu
(general questions for all TAs)
HTA Email
cs0150headtas@lists.brown.edu
(HTA-specific questions & concerns)
Lecture attendance is mandatory, and participation will contribute towards students' final grades. If a student misses a lecture, it is on them to review material taught that day by using the lecture slides and other supplemental material. Check out "Quick Links" in the Resources section to get the Zoom link!
Lecture Topic | Date | Printable PDF | PPT | Recordings | Skits | Diagnostics | |
---|---|---|---|---|---|---|---|
Welcome to CS15 + What is Programming? | 01/21 | ||||||
Calling + Defining Methods | 01/26 | ||||||
Parameters and Math | 01/28 | ||||||
Working with Objects | 02/02 | ||||||
Interfaces and Polymorphism | 02/04 | ||||||
Inheritance and Polymorphism | 02/09 | ||||||
Math and Making Decisions | 02/11 | ||||||
Graphics 1 | 02/18 | ||||||
Graphics 2 | 02/23 | ||||||
Graphics 3 | 02/25 | ||||||
Loops | 03/02 | ||||||
Arrays | 03/04 | ||||||
Design Patterns | 03/09 | ||||||
Recursion | 03/11 | ||||||
BigO and Sorting | 03/16 | ||||||
Linked Lists | 03/18 | ||||||
Stacks and Queues | 03/23 | ||||||
Trees | 03/25 | ||||||
FP Overview | 03/30 | ||||||
History of Computers & Programming Languages | 04/01 | ||||||
Computer Graphics | 04/06 | ||||||
HTA Lectures | 04/08 |
All assignments are due at 11:59 PM EST (except for final projects). If you have questions about an assignment, please post on Piazza or attend Conceptual or Debugging Hours. Be sure to review both the Piazza and Hours policies before reaching out for help!
Attendance is mandatory, so if a student needs to switch sections, they must contact both their regular section's TAs and the ones of the section they want to switch into.
Handout | Release Date | Mini-Assignment | Reading |
---|---|---|---|
Lab 0: Linux & Terminal | 01/24 | ||
Lab 1: Java Objects | 02/02 | ||
Lab 2: Polymorphism | 02/09 | ||
Section 3: Polymorphism | 02/16 | ||
Lab 4: Java FX | 02/23 | ||
Lab 5: Pseudocode & Debugging | 03/02 | ||
Section 6: Loops & ArrayLists | 03/09 | ||
Lab 7: Arrays | 03/16 | ||
Section 8: Algorithms | 03/23 |
Confused about an idea discussed in lecture or in a project handout? If we don’t have to look at your code to answer your question, conceptual hours are a great place to meet other students and talk to a TA. Your question will get answered much faster here than at the regular hours line. There’s no signup form — just walk in!
Debugging Hours are a great resource to discuss 1-on-1 with a TA about your code and learn how to solve your bugs; however, please be sure to check our the TA Hours policy and the Piazza page before getting in line.
If you have a question that’s not about the course content, come talk to an HTA during this time. This includes discussions on course policies, the CS concentration, or handling the work-life balance in and out of the department.
These hours take place each Tuesday from 4:30 pm to 5:30 pm.
“Let's meet our islanders!”