CS 113: Computer Science I
Prof. Richard Eisenberg
Spring 2018
Bryn Mawr College
Enrollment in CS113 requires taking a placement test. Please fill this out if you are interested in enrolling.
Instructor: | Richard Eisenberg |
Email: | rae@cs.brynmawr.edu |
Office Phone: | 610-526-5061 |
Home Phone (emergencies only): | (redacted) |
Cell Phone (emergencies only): | (redacted) (no texts, please) |
Office: | Park 204 |
Office Hours: | Wednesdays 10:30am-12:30pm |
If these don’t work, do not fret. Email instead. | |
Lecture: | TR 12:55-2:15pm |
Lecture Room: | Park 338 |
Lecture Recordings: | at Tegrity: access via Moodle; look for link on right side of screen. |
Labs: | T 2:25-3:15pm, R 11:55am-12:45pm, both in Park 230 (you may register for either one) |
Website: | http://cs.brynmawr.edu/cs113 |
GitHub Repo: | https://github.com/goldfirere/cs113 |
Piazza Q&A Forum: | https://piazza.com/brynmawr/spring2018/cs113/home |
TAs: | Sonya Fucci <sfucci@brynmawr.edu>, My Nguyen <mnguyen1@brynmawr.edu>, Tessa Pham <ttpham@brynmawr.edu>, Ricki Su <rsu@brynmawr.edu> |
Time | TA | Location |
Sundays 6-8pm | Ricki Su | Park 231 |
Sundays 7-9pm | Sonya Fucci | Park 231 |
Mondays 6-8pm | Tessa Pham | Park 231 |
Mondays 7-9pm | My Nguyen | Park 231 |
Tuesdays 7-9pm | Ricki Su | Park 231 |
Wednesdays 6-8pm | Tessa Pham | Park 231 |
Wednesdays 7-9pm | Sonya Fucci | Park 231 |
Thursdays 7-9pm | My Nguyen | Park 231 |
By the end of this course, you will be able to…
During the course, you will…
This is a first course in computer science. Though computer science encompasses much more than just programming, many of the concepts of computer science are best expressed in terms of computer programs. We thus begin our study of the field by learning the basics of programming. This course is taught in the Java programming language (many programming languages have been invented since the dawn of computing), as it is both a frequently used beginner language and has wide usage in industry. Furthermore, Java makes it easy to make graphical applications, which can be fun for new students to create.
Programming is a creative act, where you get to introduce a new, interactive artifact into the world. Programmers often talk of the beauty of an algorithm or piece of computer code. Reading a computer program is not all that different from reading a natural-language composition, and it is possible to critique computer code for how well it communicates an idea and how well it is written. In this course, we will aim to write beautiful code, not just functional code.
In order to learn any programming skill, you must simply do it. Reading a book or watching me code will not help you get better. This course is thus programming-intensive. You will be expected to spend a significant amount of time weekly (6-8 hours) outside of class programming to complete the homework assignments. If you run into a snag, the programming burden may prove to be even higher. Of course, programming is fun, so the time should fly by.
Much class time in CS113 will be spent working with peers to solve small programming problems, conduct peer reviews, and complete other exercises. There will also be lecture components where I demonstrate Java coding and discuss the computer science concepts powering the programming.
This course does not have a textbook. Instead, we will be using coding samples with extensive comments, which serve essentially as lecture notes. We will be building programs on top of the ACM Java Toolkit, which enables an easy start to graphical programming.
Our programming will be done using Eclipse, a professionally-used integrated development environment (IDE). This free software is powerful and can be intimidating for new users. You will quickly get used to it, and we’ll take some time during labs to familiarize you with it. Instructions for setting up this software on your machine will be distributed in the first lab.