Or by appointment
Or by appointment
|Week||Date||Topic and Links||Assignments|
Node, npm, Unit testing, Linting (slides)
|2/21||React, Design patterns (MVC) (slides), React Color Picker example (API)|
Assignment 1 due at 4:15PM
CRA, JSX, CSS, Deployment (slides), React Color Picker example (CRA)
CI and DevOps practical
|2/28||React components, Immutability, Composition vs. inheritance (slides) Film Explorer|
|3/1||Assignment 2 due at 4:15PM|
AJAX, Promises, Consuming REST APIs (slides)
|3/7||React TDD practical|
|3/8||Assignment 3 due at 4:15PM|
Behavioral testing, User stories, Lo-fi Mockups (slides)
React BDD practical
|Project proposals due at 4:15PM|
Agile development processes (slides)
|3/15||Project preferences due at 4:15PM|
|6||3/19||Sprint 0 planning||Project Guide|
Servers, Creating REST APIs, Models (M in MVC) (slides)
|3/22||Assignment 4 due at 4:15PM
Sprint 0 deliverables due
|7||4/2||Sprint 1 planning|
|4/4||Databases, Models, Associations, RDBMS (slides)
|8||4/9||RDBMS, ORM (cont.)
RDBMS practical (cont.)
|4/11||NoSQL (and MongoDB) (slides)
|9||4/16||Sprint 1 Demo, Spring 1 Retrospective||Sprint 1 deliverables due|
|4/16-4/18||Take-home midterm (sample questions and logistics notes)|
|4/18||Sprint 2 planning|
|10||4/23||Deployment, Monitoring, Performance (slides)
CSS frameworks practical
|11||4/30||Sprint 2 Demo, Sprint 2 Retrospective||Sprint 2 deliverables due|
|5/2||Sprint 3 planning|
Refactoring, Legacy code, Code hygiene (slides)
Zune refactoring example
|13||5/13||Project final deliverables due at 4:15PM|
|5/20||Final demos 7:00-10:00PM (in official exam slot, with snacks!)|
At the completion of the course you should be able to:
Your semester grade will be calculated thusly:
Assignments: In the first half the semester you will complete (approximately) weekly programming assignments. You may take up to two (2) 24-hour extensions on these assignments at your discretion (no explanation required or desired). Only one extension per assignment is permitted. To take an automatic extension e-mail the instructor(s) anytime prior to when the assignment is due with a note to that effect. Other than the two extensions described above, we will not accept late assignments except under extenuating circumstances or when otherwise specified (extenuating circumstances do not count against your allotment of extensions). If you are unable to complete an assignment (with or without the extension) contact the instructor(s) as soon as possible and before the deadline.
Practical exercises: Throughout the semester, there will be a collection of graded in-class exercises where you will work through examples yourselves. These will typically be completed in class, but occasionally you may be required to complete them outside of class. You will typically have 1-2 days to complete these exercises. Your automatic extensions cannot be used for these exercises.
Project: The focus of this class is the final project. In the second half the semester you will undertake a large software development project as part of team of 6-9 students. You will need to be in frequent contact with your group and actively contributing as a software developer each week. Your grade for the final project will be determined in part by the overall success of your project, but will mostly be determined by your participation and contributions to the project in both coding and non-coding activities. You will submit regular status reports summarizing your contributions and may also be evaluated by your peers.
We are going to be using Piazza for our class discussions outside of class. Rather than emailing questions to us, please post the questions on Piazza. This will allow other students to answer questions and to benefit from the answers you receive. This system will only work if you use it, so please do so.
You are encouraged to discuss material from the lectures and online resources with your classmates. However, the work that you turn in must be completed independently, unless an assignment is explicitly designated as one in which collaboration is permitted.
You should never copy another students code or solutions, or exchange computer files, until after an assignment is due. You are welcome to provide advice and help a classmate hunt for bugs, but if you see substantial portions of someone else’s code in the process of helping or being helped, you should not copy it. Step away from your solution for an hour and then complete the assignment independently later. Alongside manual inspection, we may use automated tools for detecting software similarity.
If you are ever unsure about what constitutes acceptable collaboration, acceptable use of Google, StackOverflow, etc, or permissible resources please ask!
Students who have Letters of Accommodation in this class are encouraged to contact the instructors as early in the semester as possible to ensure that such accommodations are implemented in a timely fashion. For those without Letters of Accommodation, assistance is available to eligible students through Student Accessibility Services. Please contact Jodi Litchfield or Michelle Audette, the ADA Coordinators, for more information: Michelle Audette can be reached at firstname.lastname@example.org or 802-443-2169 and Jodi Litchfield can be reached at email@example.com or 802-443-5936. All discussions will remain confidential.