The contents of this syllabus are subject to change.
In additon to the course requirements for the CSCI major, students should also have a working knowledge of git and understand the mechanics of a distributed version control system in order to contribute to the project deliverables.
If you need to get up to speed on git, see this page for resources.
- Alejandro Gonzalez Sole (agonzalez at jagssoft dot com)
- Jesse Greenberg (jgreenberg at appnexus dot com)
- James Lin (jameslin at appnexus dot com)
- Sabeena Lalwani (slalwani at appnexus dot com)
- Sean Laude (slaude at appnexus dot com)
- Sid Wighe (swighe at appnexus dot com)
The adjunct lecturers will give a talk on a particular topic on Tuesdays each week. The project deliverables due each Friday follow the sequence of topics, so we ask for your active attention and engagement in lectures. For details on each project deliverable, see this page.
- Topic: Agile Methodologies and Github
- Objective: Understand a framework for collaboration with a team and use Github to achieve this model of agile development
- Deliverables: Individual Project Pitches
- Notes
- Topic: Product Thinking
- Objective: Articulate the meaning of 'product' in a software context. Identify the market, users, and plot the product lifecycle for a particular product. Explain the meaning of minimal viability and how product requirements become code.
- Notes
- Topic: Design & UX Thinking
- Objective: Design thinking involves empathizing with your user to help them solve their problems with as little effort as possible. We will cover iteration and prototyping techniques and demonstrate the application of usability heuristics.
- Deliverables: Team Product Proposals
- Notes
- Monday Schedule, no Tuesday lecture
- Topic: Testing Thinking & Test Driven Development
- Objective: Explain how testing is foundational to the software development lifecycle. Understand the benefits of testing activities and highlight the costs of lax testing
- Notes
- Topic: User Interface Systems
- Objective: Overview of human-machine interaction facilities, from command-line interfaces, to rich, augmented reality experiences. We will survey current web-based user interface technologies
- Notes
- Topic: Back-end Systems
- Objective: Overview of web server technology and survey of current technologies. Discussion of RESTful services and API design.
- Deliverables: Architecture Presentations (Jesse, James, Felix section only)
- Notes
- Topic: Ask a Professional Discussion Panel
- Objective: Students will have the opportunity to ask a group of tech professionals about their work in the software and IT professions (come prepared with good questions for candid answers about careers in technology). At the end of this panel, students should take away a greater sense of the work completed in the capstone.
- Notes
- Topic: Database Systems and Data Thinking
- Objective: Overview of databases and other persistent storage systems. Students should be able to identify the benefits of structured vs. unstructured databases and have a deeper understanding of the challenges building data-driven applications at scale
- Notes
There will be no class during Spring Break, Apr 3 - Apr 6
- Topic: Security/IT Controls Thinking - Session 1
- Objective: Articulate the importance of security and IT Controls. Effective IT Controls illustrate the ability to have reliance on software systems and society as a whole.
- Notes
- Topic: Testing Methodologies
- Objective: Overview of testing methods and their applicability to all parts and the whole of software-based systems
- Deliverables: Data-driven Prototype (Jesse, James, Felix section only) and Presentation
- Notes
- Topic: Security/IT Controls Thinking - Session 2
- Objective: We will be using this week to cover any additional topics that are pertinent to the class, depending on students' progress on their projects.
- Topic: Production Issues and Scale Thinking
- Objective: Focus on on scalability and issues encountered when deploying software systems in the real world
- Notes
- Students will use this week to complete their final projects
- Deliverables: TBD
- Deliverables: Final Demo