Learning Outcomes
Upon successful completion of CSCI 136, students will obtain
- The ability to recognize parts of a problem, design solutions to those parts, and compose them into a single working program using common software patterns.
-
The ability to weigh algorithmic choices by appealing to formal arguments (e.g., asymptotic) about the time, space, and correctness of those choices in a given program.
-
The ability to clearly and precisely communicate with others about the design of a program.
-
Proficiency in the Java programming language and key development tools.
Expectations & Class Norms
You can expect me (the instructor) to:
- Contribute to and support a respectful and welcoming environment.
- Start and end class on time.
- Craft lectures and assignments designed to help you learn the material.
- Release assignments and provide feedback in a timely matter.
- Reply to emails and Piazza posts within 24 hours on weekdays and 48 hours on weekends.
We can expect you (the students) to:
- Contribute to and support a respectful and welcoming environment.
- Attend all lectures and labs in person except for health emergencies or extenuating circumstances.
- Arrive to class and lab on time, and plan to stay until the end.
- Take responsibility for your own learning and stay engaged with the class and material.
- Reach out for help from the TAs or instructors.
- Adhere to the Honor Code.
Class Norms:
- If you become sick with COVID or another illness please stay home and let us know via email. We will record lectures and then post them to Piazza.
- If you must miss class for other reasons please give us as much advance notice as possible.
- The Computer Science department strives to be a friendly and welcoming community. You may find it slightly less formal (but no less respectful) than what you encountered in previous academic settings. For example, most students and faculty address other faculty by their first names. You are welcome to call me "Katie" as well.
- You are also welcome to address me informally in email (i.e. starting an email with “Hi Katie.”) Here are a few other tips for emailing professors if that is something new to you or out of your comfort zone.
- Katie has set student help hours (office hours). Feel free to use these times to discuss questions adjacent to the course.
- Katie uses she/her pronouns. We will try to use your preferred pronouns, as indicated in PeopleSoft. Please don’t hesitate to correct us.
Workload
Attendance is required in both lecture and lab. In general, beyond the 5 hours we spend together during our class and lab meetings, you should plan to spend 10 hours per week on work related to class. Aside from the weekly lab, you are responsible for reading supporting material and investigating our online resources as necessary.
Textbooks
There is no required textbook for this class. The lectures and labs draw heavily from from Robert Sedgewick and Kevin Wayne's two textbooks:
Computer Science, An Interdisciplinary Approach and
Algorithms, 4th Edition. We encourage students to read the online materials associated with those books. Purchasing a paper copy of the books is optional but may enhance learning.
Resources
Computer science can be challenging (but equally rewarding). Almost every programmer will become stuck at some point or other.
We encourage you to take advantage of the following help resources:
- Student help hours with the instructor and TAs occur almost daily and are listed on the course webpage.
- You can reach out to Lida Doret via email (lpd2@williams.edu), Administrative and Instructional Support Specialist in the Computer Science Department.
-
You can make a personal appointment with Nick Hanford, Director of Quantitative Skills Programs (nh8@williams.edu).
Communication and Piazza
- In CS136, we will primarily use Piazza for communication. Piazza is a classroom management tool that allows for quick and efficient answering of questions as well as the ability to post anonymously.
- Any content questions asked over email will be redirected to Piazza. The hope is Piazza gives you more help more quickly since the TAs, other students, and the instructor can answer collectively.
- For other private or personal matters, please email the instructor, kak5@williams.edu
Assessments & Grades
Assessments consist of weekly lab assignments, a final project, a midterm exam, and a final exam. Students' final grades will be broken down as follows:
Category |
Percentage |
Weekly Labs |
30% |
Final Project |
10% |
Quiz 1 |
5% |
Midterm Exam |
25% |
Final Exam |
30% |
Late days for labs
- You (the student) have 2 late days which you can allocate to two different lab assignments throughout the semester. You can use 1 late day maximum per lab.
- To use a late day, fill out this Google form. This will be checked after every lab deadline so there is no need to email the instructor.
- If you have used all late days and require a special exception extension, we require a note from your class dean.
- If a special exception extension is not granted and all late days are used, the total number of lab points possible will be reduced 20% for each day late.
Honor Code
Computer Science Honor Code
For computer assignments in computer science courses, the honor code is interpreted in very specific ways. Labs are expected to be the work of the individual student unless otherwise designated, designed and coded by them alone. Help locating errors and interpreting error messages is allowed, but a student may only receive help in correcting errors of syntax; help in correcting errors of logic is strictly forbidden. In general, if you are taking photos of someone else’s screen, looking at someone else’s screen, or telling someone else what to type, it is likely the work is no longer the work of an individual student.
The College and Department also have computer usage policies that apply to courses that make use of computers. Read more about these policies here.
50-Foot Rule
To make this policy a little more concrete, we will be following the 50-foot rule.
Most proficient programmers will make use of tools on the internet, however, the 50-foot rule applies to Google, Stack Overflow, large language models (such as ChatGPT), and any other online sources as well. Directly copy-pasting from any of these sources is considered a violation of the honor code.
If in doubt as to what is appropriate, do not hesitate to ask Katie. I'm happy to discuss this anytime.
Sharing Solutions.
Please do not post your solutions to our assignments in any public forum, including public GitHub repositories. Students taking the course should not be looking for solutions, but tempting them by making solutions available is inappropriate. This applies not just to the semester you are taking the course, but to the future as well.
Inclusivity
The Williams community embraces diversity of age, background, beliefs, ethnicity, gender, gender identity, gender
expression, national origin, religious affiliation, sexual orientation, and other visible and nonvisible categories. I
welcome all students in this course and expect that all students contribute to a respectful, welcoming and inclusive
environment. If you feel that you are not being welcomed, included, or accepted in this class, please come to me or a
college administrator to share your concern. You may be surprised to learn that I have these conversations with
students regularly and even welcome them. Please let me know how I can support you!
Accommodations
Students with disabilities or disabling conditions who experience barriers in this course are encouraged to contact me to discuss options for access and full course participation. The Office of Accessible Education is also available to facilitate the removal of barriers and to ensure access and reasonable accommodations. Students with documented disabilities or disabling conditions of any kind who may need accommodations for this course or who have questions about appropriate resources are encouraged to contact the Office of Accessible Education at oaestaff@williams.edu.
Mental Health
If you are experiencing mental or physical health challenges that are significantly affecting your academic work, you are encouraged to contact your instructor and/or speak with Dean’s Office staff (x4171).
Public Health
If you feel ill, please do not come to class or lab and let us know if you are unable to attend class due to COVID restrictions. We will work with you to make sure you can make up any missed work, and to develop a plan that allows you to continue making progress in the course during your time in isolation/quarantine. In particular, lectures will be recorded and then posted on Piazza.