Updates
·
One of the
chapters in the course textbook deals with User Input Error Handling and
Validation (which is distinct from dealing with attacks and security). The
course does not really deal with this, the key message
here is to ensure that users understand what information is required to prevent
errors in the first place. Once an error happens, a good web page design is
clear about the source of the error and what to do to correct
it. For an example of a user interface that can only serve as a negative
example, see https://userinyerface.com/
In the
Fall 2021 term, Professor Kunz was teaching SYSC 4504:
Fundamentals of Web Development. The online calendar description can be found here. This page contains
some information about the course and links to additional resources available
to the class, either provided by the instructor or existing in the Internet.
Assignment submissions
and other announcements are handled through cuLearn.
Students who do not write the final exam have the option to write an exam at a
later point in time. This rule, aimed at students who are sick during exam
periods, apparently leads to some abuse by students who strategically choose
which exam to write when. In an effort to be fair to students who cannot write
the exam for a legitimate reason, while at the same time discouraging the abuse
of this rule, the following policy has been used by some faculty members:
Students taking supplemental or deferred examinations have
several more months to study than their colleagues. Also they have a
less-crowded examination schedule. Thus it is only fair to the majority of
students to expect a substantially better performance on these examinations
than on the final.
This
is the policy that I will also adopt for this course. Please note that the
above formulation leaves it up to the instructor whether the supplemental or
deferred examination will be harder or the marking scheme will be more
rigorous.
A note on assignments and cheating: the assignments are individual assignments. Evidence of cheating will be investigated and will be reported to the Associate Dean, see also General Regulations 14. Cheating consists of collaboration (handing in someone else's solution as your own as well as allowing someone else to copy your solution) and extensive quoting from textbooks and other sources without proper reference. I do encourage students to discuss the assignment questions with each other, and to consult textbooks and other sources to derive an answer. However, I also do expect students to hand in solutions that are demonstrably their own effort, clearly identifying any use of external sources (and your classmates do not count as valid external sources).
Course
Documents (Handout, additional information, etc):
·
Course
Handout (on Brightspace)
·
Health and
Safety manual (for work in the computer labs)
·
Weaving
the Web: ACM
awarded Sir Tim Berners-Lee the 2016 Turing award, its highest honour.
·
See
also the Contract
for the Web website that expands on his vision for the WWW.
·
Interesting
take on the WWW from Communications of the ACM, August 2018: The Success of the Web: A
Triumph of the Amateurs
·
Power to the People: talks about the efforts
to make data centers (which house the servers for major web sites) more
energy-efficient and carbon-neutral.
·
For
an example of turning your WWW browser into a full-fledged OS, see Chromium OS
·
Browser
compliance: not all browsers support the W3C standards that make up HTML5 (CCS,
XHTML, DOM, etc.) equally well. You can dynamically test your browser by
visiting http://html5test.com/. On my
computer, here are the scores for various browsers (out of 555):
·
Internet
Explorer 11.0 scored 312
·
Google
Chrome (Chrome 84.0.4147.89) scored 473.
·
Firefox
75 scored 465, Firefox 78.0.2 scored 466.
·
Edge
(Version 84.0.522.40) scored 477.
So Edge apparently has the edge J (as of July 23, 2020). Though with Edge being based on
Chrome (an open-source browser), that may just be a reflection of a slightly
more recent version. The older version of Edge (Edge 18) scored 492.
·
In
addition to the material in the course textbook, a good description of the
JavaScript language and features is the free online book Eloquent JavaScript.
·
If
you start to feel that you are getting lost in the course with all these
technologies and acronyms we are covering (HTML, CSS, JavaScript, PHP, and more
to come), take a look at this little story about developing
WebApps in 2016. It is hilarious and obviously an
exaggeration. But it does have a ring of truth – I sometimes sit through
meetings with people from industry where, for all intent and purposes, I feel
as if they are talking Chinese J.
·
The
key communication protocol that allows browsers to talk to WWW servers is HTTP,
the Hyper Text Transport Protocol. Unlike many other Internet protocols, it was
not standardized by the IETF. However, the IETF has standardized a related
protocol called Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0), documented
in RFC 2324. J
Course
Outline, chapter references are with respect to the course
textbook.
Date |
Topic |
Textbook
Chapter |
Sept. 9 |
Intro to Course |
|
Sept. 14 |
Intro to HTML |
Chapter 3 |
Sept. 16 |
How the WWW Works |
Chapter 2 |
Sept. 21 |
Intro to CSS |
Chapter 4 |
Sept. 23 |
HTML Forms and Tables |
Chapter 5 |
Sept. 28 |
EXAM 1: Chapters 2 – 5 (The Web, HTML and CSS) |
|
Sept. 30 |
Advanced CSS (part 1) |
Chapter 7 |
Oct. 5 |
Advanced CSS (part 2) |
Chapter 7 |
Oct. 7 |
JavaScript 1: Fundamentals |
Chapter 8 |
Oct. 12 |
JavaScript 2: Using JavaScript |
Chapter 9 |
Oct. 14 |
JavaScript 3: Extending JavaScript with jQuery |
Chapter 10 |
Oct. 19 |
EXAM 2: Chapters 7- 10 (Advanced CSS and JavaScript) |
|
Oct. 21 |
Intro to PHP, Part 1 |
Chapter 11 |
Nov. 2 |
Intro to PHP, Part 2 |
Chapter 11 |
Nov. 4 |
PHP Arrays and Superglobals |
Chapter 12 |
Nov. 9 |
Working with Databases, Part 1 |
Chapter 14 |
Nov. 11 |
Working with Databases, Part 2 |
Chapter 14 |
Nov. 16 |
EXAM 3: Chapters 11, 12,
and 14 (PHP and Databases) |
|
Nov. 18 |
Managing State, Part 1 |
Chapter 16 |
Nov. 23 |
Managing State, Part 2 |
Chapter 16 |
Nov. 25 |
XML Processing and Web Services, Part 1 |
Chapter 19 |
Nov. 30 |
Web Application Design |
Chapter 17 |
Dec. 2 |
JavaScript 4: Frameworks |
Chapter 20 |
Dec. 7 |
XML Processing and Web Services, Part 2 |
Chapter 19 |
Dec. 9 |
EXAM 4: Chapters 16, 17,
19, and 20 (State, Design, and XML Processing/Web Services) |
|