Bryn Mawr College
CMSC 113: Computer Science 1
Fall 2019
Course Materials
Kathleen Riley


Texts  Important Dates  Assignments  Lectures Course Policies Links

General Information


Kathleen Riley
205 Park Science Building
kariley at brynmawr dot edu

Lecture Hours: Tuesdays & Thursdays, 12:55 pm to 2:15 pm.

LMS: Readings, Assignments, and Lecture notes will be posted to Moodle.

Lecture Room: 338 Park Science Building

Office Hours: Wednesdays 2:30 to 4:00p, Thursdays 10:30 to 11:30, and other times by appointment.

Please note: I am happy to receive "drop in" visits outside of office hours any time that my door is open or ajar (there will be a white door stopper holding it open). However, if my door is closed, that means that I would prefer not to be disturbed. At those times, send me an email and I will find a time that we can meet.

Lab: Lab is mandatory and counts toward your final grade. All labs will meet in Park 230 (Computer Science Lab B). Students are assigned to one of the labs shown below:

Computer Science Laboratories: In addition to scheduled lab hours, the lab are available for your use throughout the week for completion of assignments and for trying out and practicing your programming skills. Every computer science student will be given OneCard access to the computer labs and an individual login for the lab computers. Students are encouraged to use the CS labs whenever possible for working on their CS studies, even if they are working on their own computer, as working on programs surrounded by others can help you build better computer science skills and avoid the isolation that can come from programming alone.

Teaching Assistants: Teaching Assistants will be available in Lab A (Park 231) from 6 pm to 10 pm, Sunday through Thursday. The schedule will be posted by the start of next week. Students are encouraged to utilize the labs while working on homework and programming projects.

Texts & Software

Text (Required): Building Java Programs: A Back to Basics Approach (Fifth Edition) by Stuart Reges and Marty Stepp. Pearson 2020 (ISBN 978-0-13-547194-4). Available in the campus bookstore, or purchase online. Note: you may alternatively use the fourth edition of this text, Pearson 2017, ISBN 978-0-13-432276-6

Suggested: The Linux Command Line: A Complete Introduction by William E. Shotts, Jr. No Starch Press, 2012. Available for free download through both the Bryn Mawr and Haverford libraries.

Software: We will be using the Java Development Kit, which is installed on all the lab computers. Labs will use the Linux environment. Students may find it helpful to install the Java Development Kit on their own computers. The Java Development Kit may be found on the website. Please note that, while most computers come with the Java Runtime Environment pre-installed, that is not the case for the Java Development Kit. The JDK must be installed in order to do any Java Programming.


Course Description

This is a fast-paced course in Computer Science designed for students with a mature quantitative ability. It is ideal for potential CS majors and others seeking a more rigorous introduction to the discipline. Students will develop computational problem-solving skills by learning to program in the Java programming language. Successful graduates of this course will be able to write and debug small computer programs independently, to discuss basic programming constructs, control structures, and idioms, and to use computational tools to help model and understand data. Prerequisite: Must pass either the Quantitative Readiness Assessment or the Quantitative Seminar (QUAN B001), and must demonstrate mature quantitative ability through the completion of previous AP/IB or college mathematics or computer science courses.

All students must fill out this questionnaire:Click here for questionnaire.

Please note that CMSC 113 does not fulfill the Scientific Investigation distribution requirement.


Lab Attendance:....10%
Midterm 1:............15%
Midterm 2:............15%
Final Exam:...........25%

There will be regular assignments, typically programming assignments but also some problem sets. Assignments must be submitted according to the instructions given with each assignment. Electronic submissions (email, etc.) will not be accepted unless specified in the instructions.

Midterms and quizzes will be administered during class or lab periods. The final exam will be a self-scheduled exam during the college-wide final exams. All exams will be "paper and pencil" exams, i.e. will not require the use of a computer. Exams will be closed-book and closed-note, and will cover material from assignments, lecture, readings, and labs.

Important Dates

September 3: First class
October 11: Last day to declare credit/non at Bryn Mawr
October 12-20: Fall break
November 27-Dec 1: Thanksgiving break (no lab this week)
Dec 12: Last class
December 15-20: Self-scheduled final


Assignments will be listed here as they are released. For the most up to date information, use the course page in moodle.

Course Policies


Attendance at lecture is considered mandatory and students should make every effort to attend every class and be ready to learn during each session. It may be a relatively big class, but it is surprisingly easy to notice when someone isn't in attendance! Borrowed notes or reading posted slides can never substitute for coming to class and being an active part of the class community. If you are tired and don't feel like coming to lecture, come anyway! You never know what fun you might miss, and that sinking feeling of not understanding something that was discussed in lecture will undoubtedly make you feel much worse.

Lab attendance will be recorded, and completion of all assignments is part of your grade.

Office hours and meetings

Office hours (2:30 pm to 4 pm on Wednesdays, and 10:30 to 11:30 on Thursdays) are a time when I am committed to being in my office (Park 205) and available to answer questions and discuss any thoughts or concerns that you may have about assignments, the class, the major or minor, course decisions, or life at Bryn Mawr! There is never a need to make an appointment to see me during office hours; just show up! If you cannot make it to office hours, please send me an email and we can find a time when we can meet.

Programming Assignments

Assignments are generally expected to take several (sometimes more than several!) hours over the course of a week. It is essential that you begin assignments early, since we will be covering a variety of challenging topics in this course and it is sometimes difficult to judge ahead of time how long a given assignment might take. Starting an assignment early also allows you to utilize the help of the TAs, who are students who have successfully completed this course and are eager to help other students do the same. If you are stuck and can't figure out how to proceed, send me an email describing your difficulty; I typically am quite prompt about returning emails and can get you unstuck and back to making progress!

You are typically asked to complete a "reflection" on each assignment, answering some questions that will require you to think about your programming process. This reflection must be typed and on a separate page, and the answers to each question numbered. Completion of the reflection is part of the grade.

Collaboration on Assignments

While it’s a great idea to discuss general algorithms or approaches with your classmates, you should make sure that the code you submit for assignments is yours and yours alone. This means that it is OK to help a friend debug their code or to look at someone else’s approach for inspiration, but your own code should be written independently, without copying from anyone else.

Do not use the internet to solve coding problems; sources on the internet often will utilize coding practices not used in class, and copying code from online sources is considered a violation of the Honor Code. You may use online sources to check syntax or ideas, but, similarly to working with others, you should use it as a learning tool and write your own code without anyone else's code in front of you. Submitting code without citation from any source other than your own brain or class notes is a violation of Bryn Mawr’s Honor Code.

If your work has been influenced by the work of another student or an online resource, you must cite that student or online resource in your submission. (This citation can take the form of a comment in that area of your code; there is no designated citation format.)

During lab, however, students are encouraged to collaborate with others, and that is an excellent forum in which to explore ideas with other students.


Bryn Mawr College is committed to providing equal access to students with a documented disability. Students needing academic accommodations for a disability must first register with Access Services. Students can call 610-526-7516 to make an appointment with the Director of Access Services, Deb Alder, or email her at to begin this confidential process. Once registered, students should schedule an appointment with the professor as early in the semester as possible to share the verification form and make appropriate arrangements. Please note that accommodations are not retroactive and require advance notice to implement. More information can be obtained at the Access Services website. (

Students are not permitted to make any sound or video recordings of any class unless they have a documented disability-related need to do so. Students with such a need first must speak with the Director of Access Services and to me, the instructor. Class members need to be aware that this class may be recorded.

Created on September 3, 2019.