Computer Science
>
>

CSCI 0150: Introduction to Object-Oriented Programming and Computer Science

Fall 2022

Brown University

CS0150 introduces Computer Science via object-oriented design and programming using Java and JavaFX for creating interactive programs with GUIs. Concepts like data structures, algorithms, and computational efficiency are explored. Practical exercises include engaging programming assignments like Doodle Jump and Tetris. The course is designed for all, requiring no prior knowledge.

Course Page

Overview

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.

Prerequisites

This course is intended for both potential concentrators and those who may take only a single course. No prerequisites and no prior knowledge of programming and mathematics, beyond basic algebra, are required.

Learning objectives

This course introduces principles of computer science, emphasizing object-oriented design and programming in Java, an effective modern technique for producing modular, reusable, and internet-aware programs. It also introduces interactive 2D computer graphics, user interface design, some fundamental data structures and algorithms, and computational efficiency. A sequence of successively more complex graphics programs, including Tetris and culminating in a significant final project, helps provide a serious introduction to the field. Each assignment includes an interactive user interface. Therefore, most of the games you program can be played! However, this course is not focused on games nor game design. It uses games as a natural and fun vehicle for learning object-oriented programming and graphical user interfaces. The course takes an interactive approach to programming assignments and an equally interactive approach to lectures. Andy’s lectures are supplemented by skits performed by the UTAs (Undergraduate Teaching Assistants) to teach course concepts and to make the class fun and enjoyable!

Textbooks and other notes

No data

Other courses in Computer Programming

Courseware availability

Lecture slides available at Lectures

No videos available

Assignments available at Assignements

Labs and sections available at Labs & Sections

Resources available at Resources

Covered concepts