CSCI 49900: Advanced Applications, a Capstone for Majors

4 credits. Department of Computer Science, Hunter College, City University of New York.

Prof. Griffin Miller, Fall 2024

Class times: Mondays and Wednesdays, 5:30-7:20 PM, Zoom

Instructor: Prof. Griffin Miller

E-mail: griffin@griffinmiller.com

Office hours: By appointment

Course/Project Description

This course is a chance for Computer Science majors to test their mettle on major projects. Working in small groups of 3-5 people, you will implement systems that involve at least two different programming languages and a combination of multiple of the following features:

  1. Integration with a 3rd Party API: Implement and effectively utilize a third-party API to enhance the functionality or data integration of the project.
  2. Substantial Security Features: Incorporate advanced security measures such as encryption, two-factor authentication (2FA), and token-based authentication to protect user data and ensure application integrity.
  3. Graphics Implementation: Develop and integrate advanced graphical components or visualizations, which could include custom UI elements, data visualizations, or interactive animations.
  4. Needfinding and User Interviews: Conduct needfinding interviews with potential users or stakeholders, followed by a structured synthesis of insights to inform and guide the project development process.
  5. Customized AI/ML Neural Network: Design and implement a custom artificial intelligence or machine learning neural network that is tailored to solve a specific problem or add intelligent features to the application.
  6. Cloud Infrastructure Deployment: Design and deploy the project using cloud infrastructure, ensuring scalability, reliability, and efficient resource management. This could include using services like AWS, Azure, or Google Cloud for hosting, storage, or computing power.
  7. DevOps and CI/CD Pipeline: Set up a Continuous Integration/Continuous Deployment (CI/CD) pipeline to automate testing, integration, and deployment processes. Utilize tools such as Jenkins, GitLab CI, or GitHub Actions.
  8. Custom API Development: Design and implement a custom Application Programming Interface (API) tailored to your project’s needs. The API should allow external applications or services to interact with your system, providing well-defined endpoints, data formats, and authentication mechanisms.
  9. Data Handling and Storage: Design and implement efficient data storage solutions using SQL or NoSQL databases. Consider aspects such as indexing, data migration, and backup strategies.
  10. Performance Optimization: Focus on improving the speed and efficiency of the application through various techniques, such as code optimization, caching strategies, or load balancing.
  11. Augmented Reality (AR) or Virtual Reality (VR) Components: Develop and incorporate AR or VR features into the application, providing an immersive user experience.
  12. Blockchain Integration: Utilize blockchain technology for a specific aspect of the project, such as secure transactions, decentralized storage, or smart contracts.
  13. Ethical Considerations and Impact Analysis: Analyze and address the ethical implications of the project, considering aspects such as data privacy, algorithmic bias, and accessibility. Provide a detailed report on the findings.
  14. Accessibility Features: Ensure that the application is accessible to users with disabilities, implementing features such as screen reader support, keyboard navigation, and color contrast adjustments.
  15. Data Analytics and Visualization: Implement data analytics features, allowing users to gain insights from the data through interactive visualizations, dashboards, or reports.

Projected Project Timeline

Project timeline
DateTask
9/3Assignment 0: Finding teammates
9/8Assignment 1: Forming a Team
9/15Assignment 2: Project Proposal (delegation of tasks, projected timelines, etc.)
9/30Progress reports start. These should be roughly 10 minute presentations, one per group per week
11/1Assignment 3: Midterm Progress Report (have you hit your projected timeline, what’s going well/what needs more attention, what you’ve learned so far, etc.)
12/16, 12/18Final demonstration of project
12/20Assignment 4: Final written report including your reflections on the project and the final demo and your evaluation of co-group-members.

Prerequisites

All non-elective courses in Computer Science required for graduation or permission of instructor.

Course Objectives

Upon successful completion of this course, students will have collaboratively completed a senior capstone project in groups of 3-5 members. Each project will utilize at least two different programming languages and incorporate a variety of additional features that demonstrate the students’ technical proficiency and creativity.

By the end of the course, students will have developed a substantial project that showcases their individual strengths while fostering collaboration and the acquisition of new development skills. In addition to technical development, students will produce comprehensive documentation to ensure that their platform is accessible and usable by others.

Furthermore, students will enhance their oral presentation skills through the preparation and delivery of project presentations, enabling them to effectively communicate their work to both technical and non-technical audiences.

Grading

Grades will be based on a project, presentations, attendance, etc. You will work with a team of 3 to 5 other students. This grade will be determined in part by my evaluation of the project and in part by your team members evaluation of your contribution. Periodic presentations and written reports, reporting on tools and progress, will account for the majority of your grade.

Grading
AreaPercentage
Final Project45%
Assignments and Presentations45%
Final peer report5%
Attendance5%
Total100%

Class Discussion

We will be using Ed stem for class discussion. I encourage you all to answer your own questions and collaborate amongst your classmates. I will also be regularly checking Ed for other questions.

Attendance

Attendance is expected for each and every class meeting. Each student is allowed 2 absences for any reason except on days when there are presentations or exams. Further absences will incur a deduction of attendance grade. Please reach out if you have any extenuating circumstances.

Academic Violations

Hunter College regards acts of academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining unfair advantage, and falsification of records and official documents) as serious offenses against the values of intellectual honesty. The college is committed to enforcing the CUNY Policy on Academic Integrity and will pursue cases of academic dishonesty according to the Hunter College Academic Integrity Procedures. Special attention is given to CONTRACT CHEATING (this is where students have work completed on their behalf which is then submitted for academic credit).

Internet, AI, and Collaboration Policy

The internet and, in particular, AI are incredibly useful academic tools for further enriching class concepts. However, it is never acceptable to use either of these to create your project. If you seek clarifying questions or assistance from one of these tools, cite your exact question and the answer in a comment within your code. In other words, this project must be yours.

Discussion and Q&A

We will be using Ed stem for class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Ed.

Computer Science Facilities & Labs

All computer science students can use any of the general-purpose labs throughout Hunter College. In addition, computer science majors and students enrolled in CSCI courses can obtain an account on the Computer Science Department Network. More information can be found on the Computer Science Department’s website.

Counseling & Wellness Services

Counseling & Wellness Services (CWS) provides mental health, health and wellness services aimed at enhancing students’ quality of life and maximizing personal and academic growth and development. More information can be found on the Counseling & Wellness Services website.

Accommodations

Please let me know if you need any accommodations throughout the course!

Bullying, cyberbullying, online hate, intimidation, threats, harassment, and pressure to share schoolwork are all forms of violence. CUNY holds a zero tolerance stance towards all such acts. The University is committed to prevention of any form of bullying, will respond promptly to threats and/or acts, and will protect victims of bullying from retaliation. As a criminal matter, the New York Attorney General defines cyberbullying as the use of email, websites, instant messaging, chat rooms, text messaging and digital cameras to antagonize and intimidate others. Disrupting a teleconferencing platform (such as Zoom/Skype/Blackboard Collaborate Ultra) is a federal crime.

Academic Integrity Statement

“Hunter College regards acts of academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining unfair advantage, and falsification of records and official documents) as serious offenses against the values of intellectual honesty. The College is committed to enforcing the CUNY Policy on Academic Integrity and will pursue cases of academic dishonesty according to the Hunter College Academic Integrity Procedures.”

Hunter College Policy on Sexual Misconduct

“In compliance with the CUNY Policy on Sexual Misconduct, Hunter College reaffirms the prohibition of any sexual misconduct, which includes sexual violence, sexual harassment, and gender-based harassment retaliation against students, employees, or visitors, as well as certain intimate relationships. Students who have experienced any form of sexual violence on or off campus (including CUNY-sponsored trips and events) are entitled to the rights outlined in the Bill of Rights for Hunter College.

a. Sexual Violence: Students are strongly encouraged to immediately report the incident by calling 911, contacting NYPD Special Victims Division Hotline (646-610-7272) or their local police precinct, or contacting the College's Public Safety Office (212-772-4444).

b. All Other Forms of Sexual Misconduct: Students are also encouraged to contact the College's Title IX Campus Coordinator, Dean John Rose (jtrose@hunter.cuny.edu or 212-650-3262) or Colleen Barry (colleen.barry@hunter.cuny.edu or 212-772-4534) and seek complimentary services through the Counseling and Wellness Services Office, Hunter East 1123.

CUNY Policy on Sexual Misconduct Link: http://www.cuny.edu/about/administration/offices/la/Policy-on-Sexual-Misconduct-12-1-14-with-links.pdf”