COS Independent Work Seminar:
Help Future Computer Science Students Learn Computer Science!

COS IW04
Spring 2025


General Information:


Instructor: Robert Fish (rfish at cs dot princeton dot edu) (office hours: 4:00-4:30pm, 5:30-6:30pm ET Monday in Corwin 037, 4:30-5:30pm ET Wednesday in Corwin 037, and by appointment, on Zoom or in Corwin 037)
TA: Owais Ibrahim (owais.ibrahim at cs dot princeton dot edu) (office hours: 11:00am-12:00noon ET Monday, 11:00am-12:00noon ET Wednesday, or by appointment. Schedule with me for in-person, otherwise on Zoom: https://princeton.zoom.us/j/7724572462)
Meeting time and place: Wednesday 3:00-4:20PM, CS302
Links: Description, Schedule, Resources, FAQ, Ed
 

Description:

We live in interesting times, with virtual classrooms sometimes replacing physical ones. This new paradigm presents interesting new challenges but also opportunities to students and instructors. This seminar focuses on projects that try to enhance the computer science learning environment at Princeton (or perhaps anywhere else!) with an option to focus on remote, virtual, and online learning environments. People need learning environments, especially in remote learning, that enhance group dynamics, maintain motivation, include a degree of self-pacing, as well as engage with individual learning styles.

In this seminar, students will choose some computer science concept from COS 126, 217, 226, 318, 324 or other Princeton Computer Science courses which you personally, or you feel others had trouble learning. You may also choose some other aspect of the learning environment that you think enhancements to would contribute to computer science pedagogy. You might pick some interesting concept that you think you can explain well to other students. Some examples might be 1) the dynamic operation of various gates and circuits in the TOY architecture or 2) understanding the mathematical notation for Finite State Machines. For their projects, students will design and build an online learning experience that is targeted at whatever concept they choose. It can include videos, graphic visualizations, quizzing mechanisms, 3D imagery, or anything else that you can think of that might help students understand a concept. The project must also include an evaluation component by which mastery of the ideas exposed to students may be assessed. A bonus would be utilizing the system to compare learning with it to other, perhaps more conventional approaches, using either qualitative or quantitative methods.

Some possible projects will be suggested early in the seminar, but students are also free to use their imagination and pick their own topic. Weekly meetings will include some initial brainstorming exercises, then we will concentrate on putting together project proposals, doing a review of relevant past work, and then finally, weekly project management presentations that will help students keep their projects on track.

Students may pair up on these projects, creating a joint idea for a learning environment, with each student concentrating on some aspect of the software with a division of labor of frontend, backend, literature review, assessment, data analysis, etc. The learning and use of open source tools, including tools such as Open EdX, Django, the D3 visualization library, and the Unity game engine etc. is encouraged in order that students may create the most effective online learning environments.

Some examples of past projects include an automated COS 226 quizzing system, visualizations of stack and heap data structures, user interfaces to improve student progress tracking, automating lab TA assignments, a curriculum picking tool, a simplified source code control tutorial, introducing elementary machine learning algorithms, cache eviction algorithms, and gamification of COS 126 assignments.
 


Schedule:

Date Topic
Jan 28 Information meeting for all IW students Convocation Room, Friend Center 12:30pm-01:30pm
Jan 29 Introductions and Brainstorming
Feb 05 Develop project plans and informal proposal talks
Feb 12 No Class meeting.
Feb 14 SEAS Funding Application due by 5:00 pm
Feb 19 Formal proposal talks with draft Gantt chart and weekly project plan
Feb 20 Written project proposals due
Feb 26 Progress report talks with Gantt chart and weekly project plan
Mar 05 Progress reports (with Gantt chart), discussion and feedback
Mar 06 Submit Checkpoint Form
Mar 12 Spring Recess
Mar 19 Progress reports, discussion, and feedback
Mar 25 Attend "How to Give an IW Talk," 12:30PM, Location:TBD
Mar 26 Progress reports, discussion, and feedback
Apr 02 Progress reports, discussion, and feedback
Apr 08 Attend "How to Write an IW Paper," 4:30PM, Location: CS 104
Apr 09 Practice Final Presentations
Apr 15 Presentation slides and recorded-video oral presentation are due
Apr 20 (Optional) 8-page preliminary paper is due. Final code reviews are done.
Apr 27 Written final report due

 

Resources:


 

Frequently Asked Questions: