Interactive: Stable Diffusion (free text-to-image generator)

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)
Assignments
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
Lectures are held in Salomon DECI on Tuesdays and Thursdays from 2:30-3:50pm.
Date | Lecture | Printable PDF | PPT | Recordings | Skit | Code | |
---|---|---|---|---|---|---|---|
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/17 | Loops | Printable PDF | "PPT | Recording | - | - | |
10/19 | Arrays | Printable PDF | PPT | Recording | - | - | |
10/24 | Design Principles and Patterns I | Printable PDF | PPT | Recording | - | Code | |
10/26 | Design Principles and Patterns II | Printable PDF | PPT | Recording | - | - | |
10/31 | Recursion | Printable PDF | PPT | Recording | Skit | - | |
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/28 | History | 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.
Date | Lab/Section | Handout | Mini-Assignment | Review Video | SRC | Slides |
---|---|---|---|---|---|---|
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 |
Code-Along
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 MacMillan 117 |
09/15 at 7:00 PM MacMillan 117 |
09/17 at 7:00 PM MacMillan 117 |
Video | Stencil |
Writing Classes Code-along | Andybot, Pong, TicTacToe | 09/19 at 8:00 PM Metcalf Research Auditorium |
09/24 at 3:00 PM Metcalf Research Auditorium |
09/27 at 9:00 PM Metcalf Research Auditorium |
Video | Stencil |
Java FX & Design Code-along | Cartoon | 10/15 at 3:00 PM MacMillan 115 |
10/18 at 4:00 PM MacMillan 115 |
- | Video | Stencil |
GitHub and Debugging Code-along | Doodle Jump | 10/25 at 7:00 PM MacMillan 117 |
10/29 at 3:00 PM MacMillan 117 |
- | Video | Stencil |
Tetris Pieces Code-along | Tetris | 11/05 at 3:00 PM Friedman 202 |
11/08 at 7:00 PM Friedman 202 |
- | Video | Stencil |
Hours
Have a Quick Question?
Try out CS15's own virtual TA Chatbot, GPTA!
Terms and Conditions |
GPTA User Guide | Generative AI Usage Guide
reminder that GPTA is experimental and is a supplement, not a replacement, for real TA help
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
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!
Resources
Quick Links
Emails
TA Email
cs0150tas@lists.brown.edu
(general questions for all TAs)
HTA Email
cs0150headtas@lists.brown.edu
(HTA-Specific Questions/Concerns)
Individual TA Emails
<cslogin>@cs.brown.edu
(cslogins found under Staff)
General Resources
Required Readings
Online Help
Guides & Tutorials
SRC
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?
- Mini-lectures
- 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
- TechCongress
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!
Topics in Socially Responsible Computing


Cybersecurity

Misinformation & Freedom of Expression

Labor Practices

Philosophy
Staff
Professor & Head Teaching Assistants


THE CAPITOL


DISTRICT 10 - LIVESTOCK


DISTRICT 2 - MASONRY


DISTRICT 7 - LUMBER


DISTRICT 6 - TRANSPORTATION


DISTRICT 11 - AGRICULTURE
Joint Socially Responsible Computing/Undergraduate Teaching Assistants


DISTRICT 8 - TEXTILES


DISTRICT 13 - NUCLEAR


DISTRICT 7 - LUMBER
Undergraduate Teaching Assistants


DISTRICT 5 - POWER


DISTRICT 9 - GRAIN


DISTRICT 3 - TECHNOLOGY


DISTRICT 1 - LUXURY


DISTRICT 6 - TRANSPORTATION


DISTRICT 12 - MINING


DISTRICT 12 - MINING


DISTRICT 10 - LIVESTOCK


DISTRICT 8 - TEXTILES


DISTRICT 3 - TECHNOLOGY


DISTRICT 6 - TRANSPORTATION


DISTRICT 4 - FISHING


DISTRICT 6 - TRANSPORTATION


DISTRICT 12 - MINING


DISTRICT 3 - TECHNOLOGY


DISTRICT 11 - AGRICULTURE


DISTRICT 7 - LUMBER


DISTRICT 11 - AGRICULTURE


DISTRICT 9 - GRAIN


DISTRICT 6 - TRANSPORTATION


DISTRICT 1 - LUXURY


DISTRICT 10 - LIVESTOCK


DISTRICT 3 - TECHNOLOGY


DISTRICT 11 - AGRICULTURE


DISTRICT 3 - TECHNOLOGY


DISTRICT 13 - NUCLEAR


DISTRICT 6 - TRANSPORTATION


DISTRICT 7 - LUMBER


DISTRICT 7 - LUMBER


DISTRICT 9 - GRAIN


DISTRICT 7 - LUMBER


DISTRICT 10 - LIVESTOCK


DISTRICT 11 - AGRICULTURE


DISTRICT 1 - LUXURY


DISTRICT 6 - TRANSPORTATION


DISTRICT 12 - MINING


DISTRICT 1 - LUXURY


DISTRICT 4 - FISHING


DISTRICT 9 - GRAIN


DISTRICT 11 - AGRICULTURE


DISTRICT 6 - TRANSPORTATION


DISTRICT 7 - LUMBER


DISTRICT 4 - FISHING


DISTRICT 6 - TRANSPORTATION


DISTRICT 3 - TECHNOLOGY


DISTRICT 3 - TECHNOLOGY


DISTRICT 13 - NUCLEAR


DISTRICT 10 - LIVESTOCK


DISTRICT 4 - FISHING


DISTRICT 6 - TRANSPORTATION


DISTRICT 8 - TEXTILES


DISTRICT 9 - GRAIN


DISTRICT 4 - FISHING


DISTRICT 1 - LUXURY


DISTRICT 7 - LUMBER

