Course Info

Welcome to CS113, an introduction to computer science. This class covers the basics of computer programming using Java. Students will learn fundamental programming concepts, such as variables, conditional statements, loops, functions, and classes. Students will develop their ability to write programs to solve a variety of problems, read existing programs, and find and fix errors in existing code.

No prior computer programming experience is necessary or expected for this class. If you have never programmed, or don’t know much about computers, this class is for YOU! However, we do ask students to have "quantitative readiness (QA)". In this course, QA means a willingness to confront equations and concepts with curiosity. Students may need to do additional learning outside of class if they encounter mathematical concepts to which they do not have previous exposure.

Computer programmers must mix systematic thinking with creativity. Programming can be time-consuming and difficult work, but the results are rewarding!

This course is appropriate for all students who want to learn how to read, write, and debug computer programs as well as learn solve problems like a computer scientist.

Meeting Times

Activity Location Time

Lecture

Zoom (Link posted on Slack)

Tuesday, Friday, 11:10am-12:30pm EST

Lab A

Zoom

Tuesday, 12:40pm-2pm EST

Lab B

Zoom

Friday, 10:10am-11:00am EST

Office Hours

By appointment

See calend.ly link on Slack

TA Office Hours

All TA office hours will be on Zoom. See our course slack for details!

Day Morning 6-8pm 7-9pm 8-10pm

Sun

Yuxiao

Mon

Al

Tues

Angie

Sarah

Weds

Angie (9-11am)

Sarah

Thurs

Judy

Al

Yuxiao

Fri

Text and Software

  • Introduction to Programming in Java (Second Edition) by Robert Sedgewick & Kevin Wayne. Addison-Wesley 2017. Available in Campus Bookstore, or purchase online from Amazon.com (Price on August 19, 2020 is $35.99 for e-text, $65.00 paperback). Book’s companion website: Click here.

  • Dropbox Account Please go to dropbox.com and register. You will be using dropbox to submit assignments.

  • Slack Please go to slack.com. Our workspace is BrynMawr-CS110-F20. You can ask questions and request one-on-one help over zoom using this course’s slack channel.

  • Development environment This refers to the tools we will use to write and run code. We will distribute an installer to help you set this up. We will use git bash, OpenJDK-11, and Visual Studio Code (VS Code).

Resources

Schedule

The syllabus may change during the semester. Please check here every week for updates on lecture content, worksheets, and assignments.

Week Date Topics & ToDo

0

Feb 12

Course introduction, Hello World

1

Feb 16,19

Variables and data types

2

Feb 23,26

Conditionals

3

March 2,5

Loops

4

March 9,12

Arrays, Strings, File I/O

5

March 16,19

Functions

6

March 23,26

Functions

7

April 2 (Spring Pause)

  • LABS CANCELLED THIS WEEK!

  • NO ASSIGNMENT!

8

April 6,9

Object oriented programming: using objects

  • Midterm (Tuesday, in lecture, open book/computer)

  • Read: Sedgewick and Wayne, Sec 3.1, 3.2

  • No labs, no assignment this week

  • Lecture 4/9/2021

9

April 13,16

Objects oriented programming: creating objects

10

April 20,23

Search and sort

11

April 27,30

More search and sort; Runtime analysis

12

May 4,7

Recursion

13

May 11

Final Thoughts. ArrayList, HashMap and Dictionary

Grading Policies

All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:

20%

Final Exam

15%

Midterm

35%

Assignments

15%

Code jams

15%

Presentations

Late Policy

Because practice is so important for learning how to program, we will do frequent exercises, assignments, and practice throughout the term.

The purpose of this work is to give you hands on experience with the topics from class. Most of this work will be due in lecture or labs. The weekly time commitment for this course is aimed to be 10 hours or less per week.

No late work will be accepted. Why? Because it’s important that you do not fall behind in the material. It is better to submit incomplete work than to fall behind!

However, we realize that you may not be able to complete a deadline for any number of valid reasons. We will drop your lowest assignment, lab, and presentation grades.

If you need to miss a lab, you can submit your exercises electronically (to Dropbox) by midnight on the day the exercises are assigned.

If you need to miss an exam, you must make arrangements ahead of time. If you cannot give notice ahead of time because of a medical emergency, you will need to provide a doctor’s note to schedule a make-up quiz.

Academic Integrity

At Bryn Mawr, we assume students are trustworthy and work with honesty and integrity. Look here for information about Bryn Mawr’s Honor Code.

As you progress in this course, you will see that programming is a creative process, similar to writing. The same problem can be solved in multiple ways. It’s essential that you develop your own skills for developing algorithms and implementing them through programs.

Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else’s code or let anyone else read your code. All code you submit should be your own with the following permissible exceptions: code distributed in class, and code found in the course text book. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were.

  • Please don’t hesitate to ask the awesome teaching assistants (TAs) for help. They provide TA hours most week nights and are excellent mentors!

  • Please discuss the readings and associated topics with each other. Work together to understand the material. Reading groups to discuss the material are highly recommended — we will explore many ideas and it helps to have multiple people working together to understand them.

  • It is fine to discuss the topics covered in the homeworks, to discuss approaches to problems, and to sketch out general solutions. However, you MUST write up the homework answers, solutions, and programs individually without sharing specific details, mathematical results, program code, etc.

  • Under NO circumstances should you share computer code with another student. Similarly, you are not permitted to use code found on the internet for any of your assignments.

  • Exams, of course, must be your own individual work.

Academic Accommodations

All classes will be recorded and close-captioned. Links to lectures will be posted on the class syllabus.

Any student who has a disability-related need to record this class first must speak with the Director of Access Services, Deb Alder, as part of university policy. Class members need to be aware that this class may be recorded.

To receive an accommodation for a course activity (such as more time on quizzes and exams), you must have an Accommodation Letter from the Office of Student Disability Services and you need to contact us to work out the details of your accommodation at least two weeks prior to the activity. Forms can be emailed to me, the instructor.

You are also welcome to contact us privately to discuss your academic needs. However, all disability-related accommodations must be arranged, in advance, through Student Disability Services.

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 dalder@brynmawr.edu 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. (http://www.brynmawr.edu/access-services/)

Links that are related to the course may be posted here. If you have suggestions for links, let us know.