SYSC 4504: Fundamentals of Web Development (Fall 2021)


FLASHUpdates

·         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)