WELCOME TO CSCI 0150
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.
This Week in CS15 (Nov 26 - Dec 2)
|Assignment||Released||Early||On Time||Late||Javadocs||Help Slides||Help Session||Additional Handouts|
|Rattytouille||Sept 13||N/A||Sept 16||N/A||-||-||-||-|
|AndyBot||Sept 17||N/A||Sept 20||N/A||JavaDocs||-||-||-|
|Pong||Sept 21||N/A||Sept 25||N/A||JavaDocs||-||-||-|
|TicTacToe||Sept 26||Sept 28||Sept 30||Oct 02||JavaDocs||-||-||-|
|Fruit Ninja||Oct 03||Oct 08||Oct 10||Oct 12||JavaDocs||Help Slides||-||-|
|Cartoon||Oct 12||Oct 19||Oct 21||Oct 23||-||Help Slides||-||Mini-Assignment|
|DoodleJump||Oct 24||Oct 30||Nov 01||Nov 03||-||Help Slides||-||-|
|Tetris||Nov 04||Nov 11||Nov 13||Nov 15||-||Help Slides||-||-|
|Pacman||Nov 17||Dec 10||Dec 12||Dec 14||-||Help Slides||Help Session||-|
|Sketchy||Nov 17||Dec 10||Dec 12||Dec 14||Javadocs||Help Slides||Help Session||-|
|Othello||Nov 17||Dec 10||Dec 12||Dec 14||-||Help Slides||Help Session||AI Handout|
|Indy||Nov 17||Dec 10||Dec 12||Dec 14||-||-||-||Mini-Assignment|
Lectures are held in Salomon DECI on Tuesdays and Thursdays from 2:30-3:50pm.
|09/07||Welcome to CS0150 + What is Programming?||Printable PDF||PPT||Recording||Skit||-|
|09/12||Calling and Defining Methods||Printable PDF||PPT||Recording||-||-|
|09/14||Introduction to Parameters and Math||Printable PDF||PPT||Recording||-||-|
|09/19||Working with Objects I||Printable PDF||PPT||Recording||-||-|
|09/21||Working with Objects II||Printable PDF||PPT||Recording||-||-|
|09/26||Interfaces and Polymorphism||Printable PDF||PPT||Recording||-||-|
|09/28||Inheritance and Polymorphism||Printable PDF||PPT||Recording||-||-|
|10/03||Math and Making Decisions||Printable PDF||PPT||Recording||Skit||-|
|10/05||Graphics I||Printable PDF||PPT||Recording||-||Code|
|10/10||Graphics II||Printable PDF||PPT||Recording||-||Code|
|10/12||Graphics III||Printable PDF||PPT||Recording||-||Code|
|10/24||Design Principles and Patterns I||Printable PDF||PPT||Recording||-||Code|
|10/26||Design Principles and Patterns II||Printable PDF||PPT||Recording||-||-|
|11/02||Big O, Sorting and Searching||Printable PDF||PPT||Recording||-||-|
|11/07||Data Structures I (Linked Lists)||Printable PDF||PPT||Recording||-||-|
|11/09||Data Structures II (Stacks, Queues, and Trees)||Printable PDF||PPT||Recording||-||-|
|11/14||Data Structures III||Printable PDF||PPT||Recording||-||-|
|11/16||Final Project Intro||Printable PDF||PPT||Recording||-||-|
|11/30||Computer Graphics||Printable PDF||PPT||Recording||-||-|
|12/05||HTA Lectures||Printable PDF||PPT||Recording||-||-|
Labs & Sections
Lab/section is a time to review course content in a smaller group setting and practice applying those concepts through partnered labs. Each section will meet once a week and will be led by two TAs with around SOME NUMBER of students, so it is also a time to work closely with and get to know some of your fellow CS15-ers.
A typical lab/section consists of short group check in, a fun SRC activity, and then either a presentation and some smaller group activities to review concepts or a lab.
|09/12||Lab 0: Linux & Terminal||Handout||Mini-Assignment||-||-||Slides|
|09/19||Lab 1: Intro to Java||Handout||-||-||SRC Activity||-|
|09/26||Section 2: Class Relationships||-||Mini-Assignment||-||SRC Activity||Slides|
|10/03||Section 3: Polymorphism||-||Mini-Assignment||-||SRC Activity||Slides|
|10/10||Lab 4: JavaFX||Handout||-||Video||-||-|
|10/17||Lab 5: Debugging||Handout||Mini-Assignment||-||-||-|
|10/24||Section 6: 1D Array, ArrayLists, and Loops||Handout||Mini-Assignment||-||SRC Activity||Slides|
|10/31||Lab 7: 2D Arrays||Handout||Mini-Assignment||Video||SRC Activity||Slides|
|11/07||Section 8: Algorithms||-||Mini-Assignment||-||-||Slides|
|11/14||Lab 9: Data Structures and Recursion||Handout||-||-||SRC Activity||Slides|
CS15 Code-Alongs are your one stop shop for getting hands-on experience with guided coding exercises in order to better understand the concepts of OOP! We know that lectures can at times feel very abstract, and that we sometimes need examples in code in order to fully understand how these concepts work.
Throughout the semester, we will host various code-alongs in order to assist you all with the skills necessary for succeeding in the course!
|Code-Along||Related To||Date #1||Date #2||Date #3||Video||Stencil|
|Java Syntax Code-along||Rattytouille||09/13 at 7:00 PM
|09/15 at 7:00 PM
|09/17 at 7:00 PM
|Writing Classes Code-along||Andybot, Pong, TicTacToe||09/19 at 8:00 PM
|09/24 at 3:00 PM
|09/27 at 9:00 PM
|Java FX & Design Code-along||Cartoon||10/15 at 3:00 PM
|10/18 at 4:00 PM
|GitHub and Debugging Code-along||Doodle Jump||10/25 at 7:00 PM
|10/29 at 3:00 PM
|Tetris Pieces Code-along||Tetris||11/05 at 3:00 PM
|11/08 at 7:00 PM
CONCEPTUAL TA HOURS
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 debugging hours line.
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 at the hours website. When waiting for hours, wait near CIT 210 and a TA will come to get you!
What is SRC?
As awareness of technology's consequences increases, attention turns to how computer scientists are trained. In response, the CS department created the "Socially Responsible Computing" initiative in 2019 to integrate ethics and social impact topics broadly across its curriculum. At Brown, SRC is embedded into most major CS courses. Our goals in CS15 are to give a broad overview of today's technological landscape so that you are familiar with these concepts when you are eventually faced with ethical design decisions further down your CS journey.
How does this fit into the CS15 curriculum?
- Lab activities about lecture content
- Two extra credit discussion sections with details TBA
How can I get involved?
Groups @ Brown:
- SRC Reading group: ARG@Brown
- AIRES (AI Robotic Ethics Society@Brown)
- Human Centered Robotics Initiative
- Design for America @ Brown
Alum-foudned groups & others:
- Better World by Design
- Impact Labs
- Coding it Forward
Classes @ Brown:
- CSCI1870: Cybersecurity Ethics
- CSCI1951I: CS for Social Change
- DATA0080: Data, Ethics and Privacy
- MCM0230: Digital Media
- PHIL401: Ethics of Digital Technology
- STS 1700T: Race, Gender, and Technology in Everyday Life
- Classes under the 'Science, Technology, and Society' (STS) department
- ...and more!