CS 113: Computer Science I
Prof. Richard Eisenberg
Fall 2017
Bryn Mawr College
You can find the placement questionnaire for the Spring 2018 iteration of this course here.
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: | Mondays 3:30-4:30pm, Tuesdays 1:30pm-2:30pm |
If these don’t work, do not fret. Email instead. | |
Lecture: | MW 1:10-2:30 |
Lecture Room: | Park 338 |
Lecture Recordings: | at Tegrity: access via Moodle; look for link on right side of screen. |
Labs: | M 2:40-3:30; W 12:10-1:00 (you may register for either one) |
Lab Room: | Park 231 |
Website: | http://cs.brynmawr.edu/cs113 |
GitHub Repo: | https://github.com/goldfirere/cs113 |
Piazza Q&A Forum: | https://piazza.com/brynmawr/fall2017/cs113/home |
TAs: | Kellie Dinh (kdinh@brynmawr.edu), Jocelyn Dunkley (jdunkley@brynmawr.edu), Kennedy Ellison (kellison@brynmawr.edu), Sonya Fucci (sfucci@brynmawr.edu), Ruby Malusa (rmalusa@brynmawr.edu) |
Time | TA | Location |
Mondays 6-8pm | Kennedy Ellison | Park 231 |
Mondays 7-9pm | Ruby Malusa | Park 231 |
Mondays 8-10pm | Jocelyn Dunkley | Hilles 110 at Haverford |
Tuesdays 6-8pm | Kellie Dinh | Park 231 |
Tuesdays 7-9pm | Sonya Fucci | Park 231 |
Wednesdays 6-8pm | Kellie Dinh | Park 231 |
Wednesdays 7-9pm | Jocelyn Dunkley | Park 231 |
Thursdays 6-8pm | Kennedy Ellison | Park 231 |
Sundays 6-8pm | Ruby Malusa | Park 231 |
Sundays 7-9pm | Sonya Fucci | 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.