COURSE SYLLABUS
Web Development - Advanced Concepts, 7.5 credits
Fördjupad webbutveckling, 7,5 högskolepoäng
Course Code: | TFWN19 |
Confirmed by: | Dean Dec 4, 2018 |
Revised by: | Director of Education Oct 22, 2021 |
Valid From: | Jan 1, 2022 |
Version: | 2 |
Education Cycle: | First-cycle level |
Disciplinary domain: | Technology
|
Subject group: | DT1
|
Specialised in: | G2F
|
Main field of study: | Computer Engineering |
Intended Learning Outcomes (ILO)
After a successful course, the student shall
Knowledge and understanding
- display knowledge of the need for, and the use of, Content Delivery Networks
- display knowledge of the challenges inherent in and technologies used for the construction of scalable web applications (NOSQL databases, horisontal scaling with session management, data partitioning and sharding, etc)
Skills and abilities
- display the ability to use JavaScript to manipulate a web page's Document Object Model
- display the ability to program against commonly used JavaScript libraries
- display the ability to construct web pages that interact with other web systems using REST/JSON, OAuth, etc.
- display the ability to use advanced web client APIs such as web storage, web workers, web components, WebAssembly, etc.
- display the ability to configure and use containers for development, testing, and deployment environments
Judgement and approach
- demonstrate the ability to evaluate the security of web applications
Contents
The course aims to convey advanced web programming concepts and techniques. The course starts with how to use JavaScript and the Document Object Model to directly modify a web pages content and looks on the client side. This portion also covers certain key client side libraries and APIs. The course then focuses on the server side, specifically using Node.js and associated frameworks, teaching the student how to construct scalable database-backed back end solutions, which communicate with front end web pages using REST APIs. The security perspective is discussed throughout the course, on both client- and server-side. Additionally, the course emphasizes maintainable program structure and the use of containers to support development, testing, and deployment of web applications.
The course includes the following topics:
- Document Object Model
- Client APIs and libraries
- Architecture and REST APIs
- Containers for web development
- Back ends in Node.js
- Authentication and authorisation
- Calling other web services
Type of instruction
Tuition will consist of lectures, lab work, and project work.
The teaching is conducted in English.
Prerequisites
General entry requirements and completed courses 60 credits in first cycle and completed courses Web Development Fundamentals, 7,5 credits and Network Programming 7,5 credits (or the equivalent).
Examination and grades
The course is graded 5,4,3 or Fail .
The final grade for the course is based on a balanced set of assessments. The final grade will only be issued after satisfactory completion of all assessments.
Registration of examination:
Name of the Test | Value | Grading |
---|
Project Work | 4 credits | 5/4/3/U |
Written Examination | 2.5 credits | 5/4/3/U |
Laboratory Work | 1 credit | U/G |
Course literature
Literature
The litterature list for the course will be provided 8 weeks before the course starts.
The course consists of the literature Eloquent JavaScript 3rd edition by Marijn Haverbeke, which is available for free on the website https://eloquentjavascript.net/.