Class | Class Number | Location | Time |
---|---|---|---|
Lecture 1 | 20013 | SENSQ 5502 | T/Th 6:00-7:15 PM |
Lecture 2 | 30648 | VICTORIA 122 | M 5:30-8:15 PM |
Recitation Section 1 | 30649 | SENSQ 5505 | F 4:00-4:50 PM |
Recitation Section 2 | 30650 | SENSQ 5505 | F 5:00-5:50 PM |
Recitation Section 3 | 20021 | SENSQ 5502 | F 10:00-10:50 AM |
Recitation Section 4 | 20022 | SENSQ 5502 | Th 7:30-8:20 PM |
Todd Waits
- Email: [email protected]
- GitHub: w8s
- Twitter: @toddwaits
- Web: http://www.toddwaits.org
I will try to reply to email within 24 hrs, and Slack chats within 4 hrs. I will not be monitoring Slack or Email between the hours of 10p-8a. Weekend responses will be spotty.
No need to address me as Professor
. You can call me Todd.
APPEND [CS1520]
TO ALL EMAIL COMMUNICATION SUBJECT LINES. I will lose track of emails that do not include that in the subject.
Office | Hours |
---|---|
TBD | Lecture 1: T 5p-6p |
TBD | Lecture 2: Th 5p-6p |
Pranut Jain
- Email: [email protected]
- GitHub: pranut
Office | Hours |
---|---|
5501 | TBD |
TBD
- Email: TBD
- GitHub: TBD
Office | Hours |
---|---|
TBD | TBD |
Email Pranut to set an appointment for the first two weeks, as we determine office hours.
Programming the World Wide Web, 8th Ed. Robert W. Sebesta
ISBN-13: 9780133776096
Interaction | Grade Percentage |
---|---|
First Exam | 25% |
Second Exam | 25% |
Programming Projects | 45% |
Participation | 5% |
# | Topics | Materials |
---|---|---|
0 | Introduction to the course | * Goals of the course |
* Brief HTML/CSS overview slides | ||
* MDN HTML | ||
* MDN CSS | ||
* Example Source | ||
1 | Introduction to client-side scripting with Javascript | * slides |
* MDN JS | ||
* Javascript examples: js1 js2 js3 js4 js5 js6 js7 | ||
2 | The DOM and Event-driven Programming | * slides |
* MDN Document | ||
* MDN DOM | ||
* MDN Node | ||
* MDN Element | ||
* MDN Events | ||
* DOM game example | ||
* Javascript examples: js8 js9 js10 js11 | ||
3 | Web Storage | * slides |
* MDN Storage API | ||
* Javascript examples: js12 | ||
4 | Regular Expressions | * slides |
* MDN Regex | ||
* Javascript examples: js13 js14 | ||
5 | HTTP Overview and Introduction to Networking | * slides |
* MDN HTTP codes | ||
6 | Python | * slides |
* Tutorial | ||
* Language reference | ||
* Standard library | ||
* Python examples: py1 py2 py3 py4 py5 py6 py7 py8 py9 | ||
7 | Server-side scripting with Flask | * slides |
* Installation | ||
* Python 3 note | ||
* Quickstart | ||
* API | ||
* Flask examples: fl1 fl2 fl3 fl4 fl5 fl6 | ||
8 | Using Templates to Generate Views in Flask | * slides |
* Jinja2 docs | ||
* Template Inheritance | ||
* Flask examples: fl7 fl8 fl9 | ||
9 | Developing Models in Flask | * slides |
* SQLAlchemy install guide | ||
* Flask-SQLAlchemy quickstart | ||
* Flask-SQLAlchemy user's guide | ||
* SQLAlchemy column types | ||
* SQLAlchemy docs | ||
* SQLAlchemy library | ||
* Flask-SQLAlchemy queries | ||
* Flask-SQLAlchemy BaseQuery | ||
* SQLAlchemy Query API | ||
* Common filter() operators | ||
* Basic relationships | ||
* Relationship API | ||
* Flask examples: fl10 fl11 fl12 | ||
10 | AJAX, XML, JSON | * slides |
* MDN AJAX portal | ||
* MDN AJAX quickstart | ||
* MDN JS Timers | ||
* JavaScript examples: js15 js16 js17 | ||
11 | REST, Building RESTful APIs with Flask | * slides |
* Extended REST example | ||
* PayPal's REST API documentation | ||
* Flask-RESTful documenation | ||
* Flask-RESTful installation | ||
* Flask-RESTful quickstart | ||
* Flask examples: fl13 | ||
12 | Functional programming | * slides |
* MDN Array.map() | ||
* MDN Array.reduce() | ||
* MDN Array.filter() | ||
* JavaScript examples: js18 js19 js20 js21 | ||
13 | Web security | * slides |
* XSS Wikipedia article | ||
* MDN CORS | ||
14 | Authentication | * slides |
* MDN HTTP Authentication | ||
* Base64 Encoding | ||
* Flask Basic Authentication | ||
* OAuth | ||
* OpenID | ||
* Python examples: py10 py11 | ||
15 | Responsive design, Backus–Naur form | * slides |
* Google Responsive Design Basics | ||
* MDN viewports | ||
* Viewports blog post | ||
* MDN Media queries | ||
* CSS examples: cs1 cs2 cs3 | ||
16 | Progressive web apps, Javascript service workers | * slides |
* Google PWA tutorial | ||
* MDN Service worker | ||
* MDN Promise | ||
* PWA examplea: pw1 |
The instructor and TA will periodically post announcements to the course website. It is every student's responsibility to regularly monitor these announcements.
All assignment submissions must be the sole work of each individual student. Students may not read or copy another student's solutions or share their own solutions with other students. Posting a completed assignment to any public space during the course of the term will be considered sharing a solution with other students, and hence, cheating. The use of books and online resources is allowed, but must be credited in submissions, and material may not be copied verbatim. Students may not review solutions from students who have taken the course in previous years.
Cheating in this course will result in a grade of F for the course and may be subject to further disciplinary action. Submissions that are substantively similar will be considered cheating by all students involved.
Please read, understand, and abide by the Academic Integrity Code for the School of Arts and Sciences.
Students are encouraged to attend all lectures, which frequently include material that is not directly taken from the text. If a student misses a lecture, he/she is still responsible for the material covered and is advised to copy the notes from a classmate.
This course may include open discussion or other interactions among students. To allow all participants to express their viewpoints, all discussion must remain civilized and respectful, and participants must avoid comments and behaviors that disparage others. A student who feels their viewpoints are not being respected is encouraged to contact the instructor, who will work to correct the situation without revealing the student's specific concerns to the rest of the class. A student in this situation who does not feel comfortable contacting the instructor directly is encouraged to contact the TA, who will uphold the same degree of confidence in relaying the issue to the instructor.
To ensure the free and open discussion of ideas, students may not record lectures, discussion or other course activities without the advance written permission of the instructor. Any recording properly approved in advance can be used solely for the student's own personal use.
All course material is subject to copyright, including notes, slides, assignments, and solutions. Students are allowed to use the provided material only for personal use, and may not share the material with others, including posting the material on the Web or other file sharing venues.
We believe that students should be able to distinguish between helping one another understand the core concepts of the course material and cheating. We encourage students to discuss the content of the course in ways that will improve understanding without violating academic integrity, such as clarifying the objective of an assignment or discussing general solution tactics.
All assignments specify a precise due date and time. Late assignments will not be accepted. Students must ensure they understand each assignment's submission procedure in advance of its deadline to ensure that submission difficulties do not cause an assignment to be rejected.
An assignment grade can be appealed up to two weeks after it has been returned. After this point, no appeals will be considered. When appealing a grade, attach a single-page cover sheet that provides a clear description of why you feel the assignment was graded unfairly; the entire assignment will be re-graded.
The goal of a grade appeal is to ensure a fair and consistent score. Thus, a score will not be adjusted on an issue of partial credit if the awarded points are consistent with the grading policy adopted for the problem for the class as a whole.
After grades have been posted at the end of the term, any further questions or concerns must be presented to the instructor in office hours at the beginning of the following term.
Students must be present for all exams. Make-up exams will be given only in the event of a documented emergency. The instructor must be informed of the emergency in advance of, or as soon as possible after, the missed exam. Missing an exam under any other circumstances will result in a score of 0 for the exam.
All graded materials that a student receives back should be saved in a safe place until after the term has ended and he/she has received and accepts his/her final grade. In this way, any grade discrepancies can be easily resolved.
If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 140 William Pitt Union, 412-648-7890, [email protected], as early as possible in the term. Disability Resources and Services will verify your disability and recommend reasonable accommodations for this course.
In order to accommodate the observance of religious holidays, students should inform the instructor (by email, within the first two weeks of the term) of any such days which conflict with scheduled class activities.
Resource | Link |
---|---|
git | http://git-scm.com/ |
CS Peer Tutoring | http://cs.pitt.edu/undergrads/crc |
Pitt Academic Calendar | http://www.provost.pitt.edu/information-on/calendar.html |
Pitt Student Counseling Center | http://www.studentaffairs.pitt.edu/cchome |
Pitt Disability Resources | http://www.studentaffairs.pitt.edu/drswelcome |