SluitenHelpPrint
Switch to English
Cursus: INFOB2WT
INFOB2WT
Webtechnologie
Cursus informatie
CursuscodeINFOB2WT
Studiepunten (EC)7,5
Cursusdoelen

This course is designed to help students understand how the basic set of Web technologies operate and learn how to use them in order to build Web applications.

The course is roughly divided into 4 learning units:
1. Client representation (lectures 1-3),
2. Client programming (lectures 4-7),
3. Server programming (lectures 8-12),
4. Trends of Web Development (lectures 13-15).

After completing Unit 1, you will:
• know the main Internet communication protocols and understand their characteristics
• be able to write well-structured, easily maintained, standards-compliant HTML5 code
• understand the need and requirements of the accessibility standards and be able to produce accessible HTML content
• be able to write well-structured, easily maintained, standards-compliant CSS3 code • understand the need and requirements of the responsive design and be able to tailor the presentation of your HTML to users’ platforms using CSS-based responsive design/

After completing Unit 2, you will:
• be able to use JavaScript to implement interactive, event-based Web pages
and you will understand
• the basics of JavaScript language (variables, basic data types, control flow, functions) and be able to write simple JavaScript code
• Document Object Model and be able to access and modify it with the help of JavaScript
• the relations between functions and prototypes, understand the nature of JavaScript “classes”, be able to write OOP code in JavaScript
• the flexible nature of JavaScript functions, understand the concept of callback functions, be able to write basic functional code with JavaScript
• such components of the JavaScript browser environment as event loop, call stack and callback queue, be able to write basic asynchronous JavaScript code
• the basics of XML and XML Schema, understand JSON, be able to process XML and JSON with JavaScript

After completing Unit 3, you will:
• know the main Internet communication protocols and understand their characteristics
• be able to implement secure Web applications
• be able to implement typical Express middleware (logging, routing, error handling, serving static files, DB access, session management)
and you will understand
• the typical 3-tier client-server architecture of Web applications
• the characteristics of Node.JS as the Web server development technology
• the workflow of a Web server and Node.JS/Express.JS server in particular
• how to maintain and control user state in Web applications between the client and the server
• cookies, their characteristics and categories, be able to create, modify, delete, process and communicate cookies
• the basics of session management in Web applications, be able to create and maintain sessions
• AJAX-based communication between client and server, be able to program interactive Web-application suing AJAX
• the basics of DB management in Web applications, be able to program communication between an SQLite data base and an Express.JS web server
• the basics of Web security, recognize main vulnerabilities of Web applications according to the OWASP list of top ten

After completing Unit 4, you will:
• recognize several trends of Web development (Adaptive Web, Semantic Web, Social Web)
and you will understand
• the concept of personalization, its role in Web applications and problems it can help to solve
• the concept of a user model/profile, how it is populated and used in adaptive applications
• the task of personalized Web search and how Web search can be personalized
• the task of adaptive hypermedia and different techniques it uses
• the task of adaptive recommendation and collaborative filtering approach in particular
• the potential dangers of Adaptive Web
• the purpose of Semantic Web technologies
• the basics of RDF, RDFS and OWL
• the concepts of metadata and linked data
• the basics of Schema.org
• the characteristics of Social Web applications
• the challenges of building Social Web applications

Assessment

  • assignment 1 Static Webpage (HTML, Accessibility, CSS, Responsive design): 10% of the final mark
  • assignment 2 Dynamic Webpage (Client-side JavaScript): 15%
  • assignment 3 Web application: 25%
  • midterm exam lectures 1-7: 25%
  • final exam lectures 8-15: 25%

To pass the course you need to:
• submit all assignments (hence, even if an assignment is not fully complete, do submit it to get a non-zero grade for it);
• obtain the average assignment grade of 4.0 or more;
• take 2 exams (the retake can be used to substitute a missing exam);
• obtain the average exam grade of 4.0 or more;
• obtain the overall course grade of 5.5 or more.

The retake exam will cover the entire course material. It is used as a substitute for either the midterm or the final exam.
If you miss one of the exams, score too low on the exams (the average exam grade is below 4.0), or get the overall course grade between 4.0 and 5.5, you are eligible for a retake.
You cannot retake assignments.
If you want to get the best possible grade, treat the deadline for assignments as strict. If you miss a deadline, you have one more day to submit the assignment by e-mail, but you loose 30% of the grade for it.

Prerequisites
The course has no formal prerequisites. However, basic knowledge of programming is expected.
Although this is an introductory course, many students taking it have had experience with some aspects of Web development.
If you do not have any knowledge of HTML, CSS and JavaScript, you definitely can get a high grade in the course, but you will need to work hard for it.
 

Inhoud

Internet is the most relevant information technology of our age. World Wide Web is its most important application.
We all use it daily for our routine information tasks. In this course, you will learn the architecture of WWW, its main protocols, representation formats and development technologies.
The practical component of the course will focus on design and implementation of Web applications that are interactive and secure.
Additional topics such as Semantic Web, Social Web and Adaptive Web will help you better understand some of the current trends of Web development.

Course form
Lectures, practical classes, assignments.
Most of the course material is delivered through standard lectures accompanied by PowerPoint slides. Lectures take place twice a week. After each lecture, its slides are made available on the course page.
Practical classes follow the lectures and are conducted by teaching assistants. They can help you find answers to practical questions and progress with your homework assignments.
Homework assignments are set out to help you practice knowledge acquired during lectures. They are done in groups of three. You are responsible for forming your group. Assignments will gradually develop, thus you will be able to reuse and develop your code throughout the course. Keep in mind, that assignment 3 is much more challenging than the first two. You are given  enough time to complete it, make sure to start using this time as soon as possible.

The course has two main exams: the midterm and the final.
The midterm covers the material of the first half of lectures.
The final covers the second half.
Both exams will take place on campus and will be digital, in the UU assessment system Remindo.
You will have 100 minutes to answer exam questions, extra time students will have 120 minutes. Some exam questions are more practical, and some will assess your knowledge of important concepts and facts.

Study material
The course does not have a single textbook. Most Web technology textbooks become obsolete rather quickly due to constant introduction of new technologies and evolution of existing ones. Instead, plenty of online resources structured around course topics are made available for you.
You are not required to thoroughly study all the suggested resources. They are there to help you understand challenging topics and ensure you have enough points of reference to complete homework assignments.
All lecture slides will be made available.
 

SluitenHelpPrint
Switch to English