On the first day at your new job as a software engineer, your manager says to you "Here's 10,000 lines of code. Find the bugs. Fix them. Then make the software better." Where would you even begin?
This course seeks to answer questions like: How would you test a program you didn't write? How would you know when you were done testing it? How would you locate and fix the bugs? And make sure that your fixes didn't break other stuff? How would you modify existing code to make it better? What does "better" even mean?
After completing this course, students will be able to:
This course is intended for students in Computer Science graduate programs; these students will have first priority during Advance Registration.
Undergraduates and students in other graduate programs should follow the waitlist procedure described on the CIS Advising website; please do not contact the Instructor with requests to be added to the waitlist.
Students who wish to take this course are expected to have completed an undergraduate-level course in software engineering and/or software design (e.g. CIS 3500, CIT 5940, or equivalent), and be proficient in Java.
Lectures, readings, and assignments in this course are expected to cover the following topics:
This course will also include a group project in which students will modify an existing distributed system involving mobile (Android) and web (Node Express) components.
In Summer 2023, this class will begin on Monday, May 22. Class meetings will be held on Mondays, Tuesdays, and Thursdays from 7-9:30pm ET via Zoom. Although attendance at class meetings is strongly encouraged, lectures will be recorded and made available to registered students via Canvas.
There is no required textbook for this course. Students should have ready access to a computer capable of running a modern Java development environment, e.g. Eclipse, IntelliJ, VS Code, etc.
Course grades will likely be determined based on the following assessments (grade weights are tentative at this time):
The Department of Computer & Information Science is 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.
It is essential that all members of the course community – including the instructor, TAs, administrators, and students – work together to create a supportive, inclusive environment that welcomes all students, regardless of their race, ethnicity, gender identity, sexuality, ability, 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, 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 CAPS: 215-898-7021; 3624 Market St. If you are uncomfortable reaching out to CAPS, 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 in this course while staying healthy.
For more information, please email Prof. Chris Murphy: cdmurphy@seas.upenn.edu