Skip to main content

CIS 4398
Projects In Computer Science

Spring 2025 Professor Applebaum

Instructor

Professor Ian Tyler Applebaum

Professor Ian Tyler Applebaum

Sections

  • Section 001: Lab: Mon & Fri 9:30-10:50 AM, Lecture: Wed 9:00-9:50 AM
  • Section 002: Lab: Mon & Fri 12:30-1:50 PM, Lecture: Wed 1:00-1:50 PM
  • Section 003: Lab: Mon & Fri 3:30-4:50 PM, Lecture: Wed 4:00-4:50 PM

Teaching Assistants

Office Hours

Professor Applebaum

Office hours are by appointment via Calendly and can be held on Discord or Zoom.

  • Monday: 3:30-5:00 PM
  • Wednesday: 1:00-2:00 PM
Schedule an Appointment
Teaching Assistant: Thanh Nguyen

Office hours are available online via Zoom and can be scheduled through Calendly.

Schedule an Appointment
Class Motto:
Don't Panic, but expect the unexpected.

Course Syllabus

Course Summary

This capstone course is the culmination of your Computer Science journey, focusing on team-based project design and implementation. You will collaborate on real-world projects, tackling technical and managerial challenges while refining your technical writing and presentation skills.

Attendance Policy

Attendance

Attendance is mandatory for this course. Each student is allowed a maximum of 3 absences throughout the semester. Beyond this limit, your grade may be negatively affected. Attendance is crucial for success, as it ensures active participation in team projects and access to stakeholder feedback. Please make every effort to attend all classes and notify your instructor in advance if you must be absent.

What You Will Learn

  • Hands-On Experience: Work in an environment that mirrors professional software development.
  • Project Development: Navigate all stages of project design, from ideation to final deployment.
  • Real-World Applications: Apply knowledge from previous courses to create functional and impactful projects.
  • Teamwork: Collaborate effectively with peers to achieve shared goals.
  • Project Management: Master Agile techniques, Jira, and GitHub for efficient project workflows.
  • Documentation Skills: Learn to create comprehensive technical documents that reflect industry standards.
  • Literature Review: Students will learn to conduct a literature search to support their design decisions and to cite sources appropriately.

Your project deliverables will involve writing-intensive components, iterating on feedback to produce high-quality work evaluated using rubrics.

How Your Work Will Be Evaluated

Your work will be graded based on:

  • Quality and completeness of project deliverables.
  • Collaboration and contribution to your team.
  • Ability to meet deadlines and manage resources effectively.
  • Documentation that demonstrates clear and professional communication.
Grading Criteria and Weight Distribution

Tools and Technologies

In this course, you will use tools like Jira for project management and GitHub for version control, ensuring you are prepared for industry practices.

Jira Software Scrum Board

Documentation and Writing Requirements

red ink handwritten markup on a blank page.
Write > Submit > Feedback > Revise > Submit Again

As a writing-intensive course, your ability to document and communicate technical ideas is crucial. You'll use Docusaurus, a modern documentation tool, to organize and present your work. Feedback will be provided via Jira tickets to mirror professional feedback processes. You will:

  • Submit initial drafts of your documentation.
  • Receive detailed feedback to guide revisions.
  • Resubmit improved versions for final grading.

Key Documentation Deliverables

  1. Project Proposal: Define your project goals, user benefits, and requirements.
  2. Requirements Specification: Detail your project's features and success criteria.
  3. Design Documents: Create architecture and API documentation with diagrams.
  4. Test Procedures: Document your testing strategies and outcomes.

Docusaurus for Project Documentation

Docusaurus helps you create professional-grade documentation sites. Using basic Markdown, you'll structure your site with a table of contents, project details, and more. A custom course template simplifies setup, and GitHub Actions automate deployment, giving you real-world experience with modern tools.

Tracking Revisions and Feedback

Your documentation will be tracked on GitHub, providing clear visibility into changes. A "Revisions" button on your Docusaurus site links to GitHub diffs, making it easy for you to review updates and for instructors to provide feedback.

Feedback will be submitted as Jira tickets, allowing you to engage with comments and integrate them into your workflow. This approach ensures transparency and mirrors industry practices.

Working with Stakeholders

You will interact with stakeholders throughout the course, gaining insight into real-world project requirements and feedback processes. Mondays are reserved for stakeholder visits, making attendance on these days essential.

Projects

ProjectDescription
Feedstack
Stephen MacNeil
This project aims to enhance the way feedback is given to learners, particularly on resumes, by linking feedback with design principles such as consistency and specificity. It utilizes ChatGPT to create chapters that help learners understand and apply feedback effectively.
GitHub Copilot Clone for Education
Stephen MacNeil
The goal is to develop a GitHub Copilot clone that functions similarly but includes rich logging capabilities to monitor user behavior. This project addresses the problem of novices misusing AI coding assistants by providing educational interventions when mistakes are made.
AAC Play
Cindy Zastudil
This project focuses on enhancing augmentative and alternative communication (AAC) devices for children. It aims to integrate games that encourage social interaction while also providing necessary communication tools for AAC users, potentially reducing social isolation.
Piggyback Learning
Rahad Arman Nabid
The project involves creating tools to make educational YouTube videos more engaging for children. These tools would inject interactive quizzes and learning materials into videos to improve structured learning experiences.
Story Builder Project
Rahad Arman Nabid
This project proposes the use of AI agents to automate story creation. It envisions a system where users can generate agents that create story outlines and chapters, which are then voted on for selection. The process is inspired by crowdsourcing but uses AI agents instead of human writers. The system also allows for user edits and aims to create a full story autonomously. The project draws inspiration from existing research on collaborative writing to develop a new method using AI technology.
3D Printer Security
Daniel Collins
The project involves developing a security tool for 3D printing systems used by the U.S. Navy and Marine Corps. The goal is to create a “last mile” security solution that scans the manufacturing files either before or as they are being sent to the 3D printer. This tool should detect and prevent malicious activities such as wasting materials, overheating, or damaging the printer through unauthorized commands.
Bioinformatics Software Tutorial Supporting Chatbot
Hannah Kim
This project aims to develop software that uses AI to facilitate learning about bioinformatics. It involves creating a chatbot with retrieval-augmented generation (RAG) capabilities, which can refer to a database to answer user questions. Key features include a customized tutorial experience, a clean web application interface, chat history, use of a free API key to keep costs low, and the ability to admit when it doesn’t know an answer rather than providing incorrect information. This project highlights the potential for interdisciplinary collaboration and overcoming barriers in bioinformatics education.

Week-by-Week Schedule

Click here for Mermaid Diagram markdown.
```mermaid
gantt
title Schedule Gantt Chart
dateFormat YYYY-MM-DD
excludes 2025-01-20 2025-03-03 2025-03-04 2025-03-05 2025-03-06 2025-03-07 2025-03-08 2025-03-09

```

Evaluation Metrics

Group Performance

  • Deliverables meeting requirements.
  • Project complexity and innovation.
  • Team collaboration and effective communication.

Personal Performance

  • Initiative and proactive contributions.
  • Quality of individual work and ideas.
  • Positive and supportive team attitude.

Using GitHub and Jira metrics, your participation and progress will be assessed to ensure fairness and alignment with industry practices.

Relevant University Policies for this course

Temple University provides various support services for students, including academic assistance, counseling, and resources for those with disabilities. Students are expected to attend classes regularly, participate actively, and uphold academic integrity by avoiding plagiarism and other forms of dishonesty. The university emphasizes a respectful and inclusive learning environment, valuing diverse perspectives and fostering open dialogue.

Students with Disabilities

note

Please bear in mind that COVID-19 may result in a need for new or additional accommodations.

Any student who has a need for accommodations based on the impact of a documented disability or medical condition should contact Disability Resources and Services (DRS) located in the Howard Gittis Student Center South, 4th Floor at drs@temple.edu or 215-204-1280 to request accommodations and learn more about the resources available to you. If you have a DRS accommodation letter to share with me, or you would like to discuss your accommodations, please contact me as soon as practical. I will work with you and with DRS to coordinate reasonable accommodations for all students with documented disabilities. All discussions related to your accommodations will be confidential.

Student Support Services

The following academic support services are available to students:

If you are experiencing food insecurity or financial struggles, Temple provides resources and support. Notably, the Temple University Cherry Pantry and the Temple University Emergency Student Aid Program are in operation as well as a variety of resources from the Division of Student Affairs.

Attendance and Your Health

We continue to meet the changing circumstances of the COVID- 19 pandemic with flexibility and by working together as a community. To achieve course learning goals, students must attend and participate in classes, according to the course requirements. However, if you feel unwell or if you are under quarantine or in isolation because you have been exposed to the virus or tested positive for it, you should not come to campus or attend in-person classes or activities. It is the student’s responsibility to contact me to create a plan for participation and engagement in the course as soon as you are able to do so, and to make a plan to complete all assignments in a timely fashion when illness delays your completion.

Technology specifications

This course requires the use of Canvas, including access to materials and assignment submission. On-campus computer labs have resumed normal operations and are available for student use. Limited resources are available for students who do not have the technology they need for class. Students with educational technology needs, including no computer or camera or insufficient Wifi-access, should submit a Student Technology Assistance Application located in TUPortal and linked from the Dean of Students Support and Resources webpage. The university will endeavor to meet needs, such as with a long-term loan of a laptop or Mifi device, a refurbished computer, or subsidized internet access. Internet Essentials from Comcast provides the option to purchase a computer for $150 and high-speed Internet service for $9.95 a month, plus tax. The Emergency Broadband Benefit (EBB) is available to purchase Xfinity, Verizon, T-Mobile, and other internet services. Qualified households can receive a temporary monthly credit of up to $50/month toward their Internet service and leased Internet equipment until the program's funding runs out.

Grading Scale

A RangeB RangeC RangeD RangeF Range
A: 94-100B+: 87-89C+: 77-79D+: 67-69F: 0-59
A-: 90-93B: 84-86C: 74-76D: 64-66
B-: 80-83C-: 70-73D-: 60-63

Expectations for Class Conduct

The best way to maintain a safe and focused learning environment is for everyone to get vaccinated. We all need to follow the university guidance on masking as well. For your general health and well-being, hand washing and monitoring your health is still highly recommended. It is also important to foster a respectful and productive learning environment that includes all students in our diverse community of learners. Our differences, some of which are outlined in the University's nondiscrimination statement, will add richness to this learning experience. Therefore, all opinions and experiences, no matter how different or controversial they may be perceived, must be respected in the tolerant spirit of academic discourse. Treat your classmates and instructor with respect in all communication, class activities, and meetings. You are encouraged to comment, question, or critique an idea but you are not to attack an individual. Please consider that sarcasm, humor and slang can be misconstrued in online interactions and generate unintended disruptions. Profanity should be avoided as should the use of all capital letters when composing responses in discussion threads, which can be construed as “shouting” online. Remember to be careful with your own and others’ privacy. In general, have your behavior mirror how you would like to be treated by others.

Statement on recording and distribution of recordings of class sessions

Any recordings permitted in this class can only be used for the student’s personal educational use. Students are not permitted to copy, publish, or redistribute audio or video recordings of any portion of the class session to individuals who are not students in the course or academic program without the express permission of the faculty member and of any students who are recorded. Distribution without permission may be a violation of educational privacy law, known as FERPA as well as certain copyright laws. Any recordings made by the instructor or university of this course are the property of Temple University.

Academic Freedom

Freedom to teach and freedom to learn are inseparable facets of academic freedom. The university has adopted a Policy on Student and Faculty Academic Rights and Responsibilities (links to an external site.). http://policies.temple.edu/PDF/99.pdf

Academic Honesty

According to the University Student Code of Conduct, students must not commit, attempt to commit, aid, encourage, facilitate, or solicit the commission of academic dishonesty and impropriety including plagiarism, academic cheating, and selling lecture notes or other information provided by an instructor without the instructor’s authorization. Violations may result in failing the assignment and/or failing the course, and/or other sanctions as enumerated in the University Code of Conduct (Links to an external site.).