CS0150 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. CS0150 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 CS0150 and the course expects no prior programming experience.
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.
|Lecture Topic||Date||Printable PDF||PPT||Recordings||Skits||Code|
|Welcome to CS0150 + What is Programming?||09/09||PPT||REC||SKIT|
|Calling and Defining Methods||09/14||PPT||REC|
|Introduction to Parameters and Math||09/16||PPT||REC|
|Working with Objects I||09/21||PPT||REC|
|Working with Objects II||09/23||PPT||REC|
|Interfaces and Polymorphism||09/28||PPT||REC|
|Inheritance and Polymorphism||09/30||PPT||REC|
|Math and Making Decisions||10/5||PPT||REC|
|Design Principles + Patterns I||10/26||PPT||REC||CODE|
|Design Principles + Patterns II||10/28||PPT||REC||SKIT||CODE|
|BigO and Sorting||11/04||PPT||REC|
|Data Structures I||11/09||PPT||REC|
|Data Structures II||11/11||PPT||REC|
|History of Computers||11/16||PPT||REC|
|Final Project Intro||11/18||SLIDES||REC|
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.
|Lab 0: Linux & Terminal||09/14||DOC||SLIDES||SLIDES|
|Lab 1: Intro to Java||09/21||DOC||SLIDES|
|Section 2: Class Relationships||09/28||DOC
|Section 3: Polymorphism||10/05||DOC
|Lab 4: JavaFX||10/12||DOC||QUIZ
|Lab 5: Debugging||10/19||DOC|
|Section 6: ArrayLists & Loops||10/26||DOC||DOC||SLIDES|
|Lab 7: Arrays||11/02||DOC||QUIZ
|Section 8: Algorithms||11/09||DOC||SLIDES|
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 TA Hours policy and the Ed 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 Friday from 3:00 pm to 4:00 pm at Friedman 101.
At Health and Wellness hours, you can seek help for any accessibility, physical and mental health barriers that you face while navigating the Brown Computer Science department as a student, TA, or even faculty. Health and Wellness hours are also a place to check out resources that are available to Brown Computer Science students with regards to self-care and accessibility, and to provide feed back for how a course / the department can be more accessible.
Find more information about these hours and the calendar here.