Skip to content

marrerom/Web-Teaching

Repository files navigation

Build Status

CSE1500: Web and Database Technology

Materials and resources of the 2018/19 Web and Database Technology course at TU Delft are listed here. At the moment, only Web topics are covered. Work in progress.

Contact

The responsible instructors (A. Bozzon, C. Hauff) can be reached at cse1500-ewi[at]tudelft.nl. Warning: the mailbox will note be active before November 2018.

Required [REQ] and recommended [REC] tools

  • [REC] Visual Studio Code is the strongly recommended development environment for this course. It is a free and open-source IDE available for all major operating systems. It was originally designed to support node.js programmers (a server-­side JavaScript framework we use in this class), but now has extensions for many programming languages. Best of all, Visual Studio Code itself is written in JavaScript! It has integrated source control with git support out of the box - making it easy to program in pairs. VS Code also offers many extensions (see a guide of how to browse and install them here), we recommend the following:
    • ESLint, the most popular linting utility for JavaScript (a linter is a tool that analyzes source code to flag potentially poor code such as unused variables) - use it to improve your code;
    • Bracket Pair Colorizer does what the name suggests;
    • Quokka.js - a great tool to try out JavaScript snippets without hassle;
    • VS Live Share - a collaborative real-time coding extension (especially useful if a student team works mostly remotely);
    • Material Icon Theme to make finding the file you are after in your app directory a bit easier;
    • finally, a good theme for your IDE to make coding more enjoyable is also not a bad idea; Dracula is a popular one. If you want to pick based on visuals, head over to https://vscodethemes.com/.
  • [REQ] node.js
  • [REQ] Two modern Web browsers such as Chrome, Firefox, Edge, ...
  • [REC] Browser developer tools ... those come built into all modern browsers; be sure to make yourself familiar with them. For Firefox, you can find an elaborate description of the developer tools at MDN.

If you are new to team programming, and want to use VSC's features efficiently, read our guide. While it is beyond the scope of this course to introduce tools like git in detail, we provide you with enough information to get started. You will learn more about these tools in later courses.

Resources

  • MDN: Mozilla's resource site for developers.
  • Google's Web Fundamentals are similar to MDN in spirit.
  • Codepen showcases many front-end experiments; if you are looking what is possible with CSS, this is the place for you.

Course grading

  • Course grade:
    • 40% midterm (covers all Web technology lectures)
    • 40% final exam (covers all database technology lectures)
    • 20% assignments
  • Requirements: to pass, the overall grade must be 5.8 or higher AND the midterm grade must be at least a 5 AND the final exam grade must be at least a 5 in accordance with TU Delft's exam regulations.
  • Assignments are done in pairs of two students and are graded by student assistants in a binary manner (pass or fail). There are six assignments in total, three cover Web programming topics and three cover database topics.
  • We have two assessment weeks: one before Christmas and one at the end of January. In the December assessment week all three Web assignments are assessed in a single session; in the January assessment week all three database assignments are assessed in a single session. Each session can yield anything between 3x pass and 3x no-pass.

Course topics

  • Week 2.1: (Lecture L1) HTTP and (L2) HTML5
  • Week 2.2: (L3) JavaScript and (L4) node.js
  • Week 2.3: (L5) CSS and (L6) node.js (advanced topics)
  • Week 2.4: (L7) Cookies & sessions and (L8) Web security
  • Week 2.5: midterm on December 13 (the midterm only covers Web technology topics)
  • Week 2.6: DB topics
  • Week 2.7: DB topics
  • Week 2.8: DB topics
  • Week 2.9: DB topics
  • Week 2.10: no lectures this week; final exam on February 1 (the final exam only covers DB topics)

Assignments

There are six assignments in total.

The first three assignments cover Web technology topics.

If you are new to team programming, and want to use VSC's features efficiently, read our guide. While it is beyond the scope of this course to introduce tools like git in detail, we provide you with enough information to get started. You will learn more about these tools in later courses.

Demo app

A demo board game app (a word guesser) is available as well. If you are stuck on how to go about implementing something, the source code of this app can help you to get unstuck. Is has been implemented along the lines of the assignments.

The demo app, just as listed in this year's board game project, consists of two screens, a splash screen:

splash screen

and a game screen:

splash screen

Interactive Web technology exercises

Students who do not have a lot of prior knowledge often struggle to get started. Here is a list of useful interactive exercises and how they match up with each lecture. Each of these exercises is small, taking just a few minutes (sometimes less than a minute) to solve.

List of Web lectures

This is work in progress, lectures in a good draft status for 2018/19 are bolded. The transcripts are an 2018/19 addition, the lectures slides are currently all from 2017/18.

About

Overview of CSE1500 (Web technology part)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages