General Information


Geoffrey Towell
259 Park Science Building
gtowell at brynmawr dot edu


Meeting 2:10 -- 4:00 F Park 245
Office Hours TBA Park 259
Zoom Meeting code:
232 840 6920.
Password: given in class
Course Description This course is a capstone to your undergraduate Computer Science education, in which you will have the opportunity to identify, plan, design, implement, and evaluate a computing-based solution to a real-world problem.

In completing this course, you will gain experience in:
  • identifying a computing-related problem and potential solutions, and exploring and evaluating different solutions' benefits and drawbacks
  • designing and implementing a high-quality computing artifact.
  • assessing the effectiveness of a computing solution, i.e. the extent to which it addresses the problem it is trying to solve
  • communicating the high-level goals and low-level details of a computing solution via written documents and oral presentations

Whether your next step after graduation is industry, academia, research, government, or non-profit, these are the sorts of skills you will need in your career as a successful computer scientist and engineer.

The main deliverable of this course is a final report that describes the motivation for your project, details about the solution/implementation, an assessment of its effectiveness, and your own personal reflection on the process.
Computers Should you need special computing resources talk to me and/or your thesis advisor. We should be able to help.


Make It Clear
by P Winston
Completely optional; but I find it useful.

Important Dates

All assignments (in bold) are due at the beginning of class. Most assignments also have links describing what is expected. Class Activities.

Presentation slides

Course Policies


Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.

Please stay in touch with me, particularly if you feel stuck on a topic or assignment and can't figure out how to proceed. Often a quick e-mail, or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments early.


Grades will be awarded based on the number of points earned and according to the percentage breakdowns shown.
Final Report 40%
Milestone Deliverables 20%
Progress Reports and Status updates 10%
Peer Reviews 10%
Class Participation and Attendance 10%

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances. Incomplete grades must be approved through the Dean's office.

ALL work submitted for grading should be entirely YOUR OWN. Sharing of programs, code snippets, etc. is not permitted under ANY circumstances. That said, I encourage you to discuss assignments at an algorithmic level with other students. That is, talk about the problem, and general approaches to problems. Do not share or discuss actual code.


Latex report template
A template for the final report, should you decide to write using LaTeX.
Report Format
Whatever tool you use for writing your report, the final product should look fairly similar to this.
Peer Reviewing
Writing a good peer review is hard. This document contains suggestions for approaching the problem.

Learning Accommodations

Students requesting accommodations in this course because of the impact of disability are encouraged to meet with me privately early in the semester with a verification letter. Students not yet approved to receive accommodations should also contact Deb Alder, Coordinator of Accessibility Services, at 610-526-7351 in Guild Hall, as soon as possible, to verify their eligibility for reasonable accommodations. Early contact will help avoid unnecessary inconvenience and delays.

This class may be recorded.

Creating a Welcoming Environment

All members of the Instruction Staff are dedicated to the cause of improving diversity, equity, and inclusion in the field of computing, and to supporting the wellness and mental health of our students.

Diversity and Inclusion

It is essential that all members of the course community – the instructor, TAs, and students – work together to create a supportive, inclusive environment that welcomes all students, regardless of their race, ethnicity, gender identity, sexuality, or socioeconomic status. All participants in this course deserve to and should expect to be treated with respect by other members of the community. Class meetings, lab sessions, office hours, and group working time should be spaces where everyone feels welcome and included. In order to foster a welcoming environment, students of this course are expected to: exercise consideration and respect in their speech and actions; attempt collaboration and consideration, including listening to opposing perspectives and authentically and respectfully raising concerns, before conflict; refrain from demeaning, discriminatory, or harassing behavior and speech.


Additionally, your mental health and wellness are of utmost importance to the course Instruction Staff, if not the College as a whole. All members of the instruction staff will be happy to chat or just to listen if you need someone to talk to, even if it’s not specifically about this course. If you or someone you know is in distress and urgently needs to speak with someone, please do not hesitate to contact BMC Counseling Services: 610-526-7360 (610-526-7778 nights and weekends). If you are uncomfortable reaching out to Counseling Services, any member of the Instruction Staff will be happy to contact them on your behalf. We understand that student life can be extremely difficult, both mentally and emotionally. If you are living with mental health issues such as anxiety, depression, ADHD, or other conditions that may affect you this semester, you are encouraged to discuss these with the Instructor. Although the details are up to you to disclose, the Instruction Staff will do their best to support and accommodate you in order to ensure that you can succeed this course while staying healthy.

Created on January 2023. Subject to constant revision.