SWE 432 Section 002 Fall 2016 Syllabus and Schedule
“Design and Implementation of Software for the Web“
Class Hours: Tuesdays and Thursdays, 12:00pm-1:15pm Robinson Hall B228
Grades, Readings available as pdfs: Blackboard
Resources (Announcements, Schedule, Assignments, Discussion):
Piazza - https://piazza.com/gmu/fall2016/swe432001/home
Instructor: Prof. Jonathan Bell
bellj@gmu.edu
http://jonbell.net
Twitter: @_jon_bell_
Office: 4422 Engineering Building; (703) 993-6089
Office Hours: Anytime electronically, Tues 10:30am-12:00pm, or by appointment
TAs:
Sunitha Thummala
sthumma3@gmu.edu
Office: 5321 Engineering Building
Office hours: TBD
Chenhao Mu
cmu@masonlive.gmu.edu
Office: 5321 Engineering Building
Office hours: TBD
Required Textbooks:
None
Contacting:
If you have a general question about an assignment or course content, first check piazza to see if someone has already answered your question. If not, post your question in piazza, where your question may be answered by other students or the course staff. For questions about grades, contact one of the TAs by email.
Office Hours:
Office hours are times that we commit to being in our office, door open, first come, first served. You do not need an appointment, and no appointments are accepted. If you cannot make the scheduled office hours, then we can try to set up an appointment. Please note that I am seldom available after 5:00 pm. We will inform you in class or on the discussion board if we have to miss office hours.
Objective:
This course will provide a comprehensive introduction to web development, covering front end development, back end development, and user interface design
Learning Outcomes
Readings:
There are no required readings for this course. Each lecture will have suggested readings that contain additional background material.
Resources:
This course will use Piazza for posting the schedule and all assignments and announcements. Additionally, we will use Piazza for a discussion board. Information for accessing our class will be provided on the first day of class.
Grades will be available through Blackboard.
In Class Activities:
Most lectures will feature interactive activities that support the material being presented. You are strongly encouraged to bring your laptop to class so that you can participate. Your 5% participation grade is based on attendance and participation in in-class activities.
Quizzes:
There will be a short closed-book in class quiz every week. Quizzes will not be announced in advance. The lowest three quiz grades will be dropped. The quizzes together will count for 20% of the course grade.
Exams:
There will be a comprehensive final exam which will be closed-book in-class. There will be no midterm exam.
Makeups:
Missed quizzes cannot be made up. 10% will be deducted for late HW assignments and late HW assignments will only be accepted for 24 hours after the due date. HW assignments submitted more than 24 hours late will receive a zero. If you’re worried about being busy around the time of a HW submission, please plan ahead and get started early.
HWs:
The homeworks in the course will be in the form of a project. Throughout the term, you will work in a pair to develop a dynamic web app, implementing a front end, back end, and evaluating and improving its usability.
You will be working in two-person pairs on all homework assignments. Beyond your pair, we encourage you to have high-level discussions with other students in the class about the assignments. However, we require that when your pair turns in an assignment, it is only the work of your pair. That is, copying any part of another pair’s assignment is strictly prohibited. You are free to reuse example code found on the Internet (e.g. via StackOverflow) provided that it is attributed. If you are concerned that by reusing and attributing that copied code it may appear that you didn’t complete the assignment yourself, then please raise a discussion with the instructor or TA.
Grading:
HWs: 40%
Project presentation: 5%
Class participation: 5%
Quizzes: 20%
Final exam: 30%
Honor Code:
GMU is an Honor Code university; please see the Office for Academic Integrity for a full description of the code and the honor committee process, and the Computer Science Department’s Honor Code Policies regarding programming assignments. The principle of academic integrity is taken very seriously and violations are treated gravely. What does academic integrity mean in this course? Essentially this: when you are responsible for a task, you will perform that task. When you rely on someone else’s work in an aspect of the performance of that task, you will give full credit in the proper, accepted form. Another aspect of academic integrity is the free play of ideas. Vigorous discussion and debate are encouraged in this course, with the firm expectation that all aspects of the class will be conducted with civility and respect for differing ideas, perspectives, and traditions. When in doubt (of any kind) please ask for guidance and clarification.
Accommodations for Disabilities:
If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with Office for Disability Services (SUB I, Rm. 4205; 993-2474; http://ods.gmu.edu) to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs.
Privacy:
Students must use their MasonLIVE email account to receive important University information, including messages related to this class. See http://masonlive.gmu.edu for more information.
Other Useful Campus Resources:
· Writing Center: A114 Robinson Hall; (703) 993-1200; http://writingcenter.gmu.edu
· University Libraries: Ask a Librarian
· Counseling and Psychological Services (CAPS): (703) 993-2380; http://caps.gmu.edu/
· University Policies: The University Catalog, is the central resource for university policies affecting student, faculty, and staff conduct in university academic affairs. Other policies are available at http://universitypolicy.gmu.edu/. All members of the university community are responsible for knowing and following established policies.
Tentative Schedule
1. Course Overview (8/30)
HWs: HW0 Out
2. Web Development Tools (9/1)
3. HTML & CSS (9/6)
HWs: HW0 due, HW1 Out
4. ECMAScript6 (9/8)
5. Dynamic Webpages (9/13)
HWs: HW1 due, HW2 Out
6. Organizing Code in Web Apps (9/15)
7. AJAX and WebSockets (9/20)
HWs: HW2 due, HW3 Out
8. Asynchronous Programming (9/22)
9. Templates & Data-binding (9/27)
HWs: HW3 due, HW4 Out
10. MVVM Frameworks (9/29)
11. Information Visualization Frameworks (10/4)
HWs: HW4 due, HW5 Out
12. Frontend Testing & Performance (10/6)
(10/11) - NO CLASS - COLUMBUS DAY
13. Backend Web Development (10/13)
HWs: HW5 due, HW6 Out
14. Handling HTTP Requests (10/18)
15. Persistence (10/20)
HWs: HW6 due, HW7 Out
16. Privacy & Security (10/25)
17. Microservices (10/27)
HWs: HW7 due, HW8 Out
18. Deployment (11/1)
19. User-Centered Design (11/3)
HWs: HW8 due, HW9 Out
20. Human Cognition (11/8)
21. Design Thinking & Prototyping (11/10)
HWs: HW9 due, HW10 Out
22. User Studies (11/15)
23. Interaction Techniques (11/17)
HWs: HW10 due, HW11 Out
24. Site Design (11/22)
(11/24) – NO CLASS – THANKSGIVING RECESS
25. Information Visualization (11/29)
26. Visual Design (12/1)
HWs: HW11 due, HW12 Out
27. Design Languages (12/6)
28. Review (12/8)
HWs: HW12 due
Final Exam 12/15, 10:30am - 1:15pm