ITWT413 : Web Applications Development

Department

Internet Technologies Department

Academic Program

Bachelor in Internet Technologies

Type

Compulsory

Credits

03

Prerequisite

ITWT311

Overview

This course will introduce web application concepts using both Django/Python and J2EEbased technologies, and you will be able to generalize these concepts to other web application technologies and tools.Covered topics include: Web data protocols. HTML, CSS, and Bootstrap. JavaScript. jQuery. Ajax. Web frameworks and design patterns. Cookies. Sessions. Many Django and J2EE applied concepts. Databases and transaction management. ORM tools. Web security. Concurrency. View templating. Web scalability and performance. Cloud services. Principles of UI design.

Intended learning outcomes

Knowledge &understand

  • Identify basic aspects of web-frameworks
  • Learn fundamentals of frontend and backend development
  • Identify the requirements of a web application
  • List different examples of web applications
  • Understand web application architecture and its take on MVC
  • Explain the role of messaging and protocols within the design of web applications
  • Explain the opportunities, challenges and problems of developing web applications

mental skills

  • Analyze the requirements of a web application
  • Evaluate the specifications and designs of web applications
  • Critique the information architecture of web applications
  • Analyze IT-security with the requirements of standards
  • Compare best practices of web application development

Practical & professional skills

  • Apply the basic concepts, principles and practices of the web programming
  • Design the architecture of a web application
  • Apply the techniques and features of the client/server development languages to construct a database application based on Internet
  • Build a robust web application
  • perform security audit of web application
  • deploy a full stack web application.

General and transferable skills

  • Using knowledge and sources effectively
  • Searching capabilities
  • Group-working & presentation skills (real-life practical requirement)
  • Discuss and work in a group in order to design, build and deploy a web application
  • Hand in assignments, reports and projects in time
  • Communicate technical and design thinking

Teaching and learning methods

  • Lectures.
  • Seminars.
  • Tutorials.
  • Problem-based/enquiry-based learning.
  • Laboratory and practical learning.
  • Projects.

Methods of assessments

  • Midterm Exam = 25
  • Home works (Practical, Presentation and Documentation) = 25
  • Practical Exam = 30
  • Final Exam = 20

Course contents

  • Scaffolding a Django Project and App - Model View Template (Design pattern)
  • Views- Introduction to HTTP and Processing a Request
  • Exploring Django Settings - Finding HTML Templates in App Directories - Exceptions
  • Models and Migrations - SQL CRUD Operations - Django ORM - Database Configuration and Creating Django Applications
  • URL Mapping, Views, and Templates - Function-Based Views- Class-Based Views - URL Configuration - Django Template Language
  • Introduction to Django Admin - Creating a Superuser Account - CRUD Operations Using the Django Admin App - Registering the Reviews Model - Customizing the Admin Interface
  • Static File Serving - Static File Finders: Use During a Request - FileSystemFinder - The findstatic Command - Custom Storage Engines
  • Sessions and Authentication - Middleware Modules - The Session Engine - Advanced Django Admin and Customizations
  • Building a REST API - Django REST Framework - Serializers
  • Introduction to Jakarta EE Web Development - Introducing JSP and Tomcat
  • JSP Elements - Scripting Elements - Implicit Objects- Directive Elements
  • JSP Application Architectures - Model view controller (MVC) design pattern - E-bookshop Application
  • Database Architecture - XML
  • JSF - JavaServer Faces 2.3

Data Mining/Business Intelligence (ITWT301)
Wide Area Networks (ITWT309)
Information Retrieval Systems (ITWT302)
Introduction to Computer Graphics (ITWT303)
Image Processing (ITWT308)
Cloud Computing (ITWT307)
Multimedia over IP Networks (ITWT306)
Principles of Games Developments (ITWT305)
e-commerce (ITWT304)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Statistics (ITST211)
Introduction to Internet Programming (ITGS226)
Foundation of Information Systems (ITGS222)
Computer Architucture & Organization (ITGS223)
Data Structure (ITGS220)
Introduction to Databases (ITGS228)
Information Security (ITGS224)
Human Computer Interaction (ITWT315)
Security Policies and Procedure (ITWT317)
Advanced Databases (ITWT313)
Advanced Internet Programming (ITWT311)
Design and Analysis algorithms (ITGS301)
Operating System (ITGS302)
IT Project Management (ITGS303)
Client server Programming (ITWT320)
Web Applications Development (ITWT413)
Ethical Hacking (ITWT420)
Scientific Writing (ITGS304)
Multimedia System development (ITWT324)
Web Services (ITWT411)
Integrated systems development (ITWT415)
Mobile Applications Development (ITWT422)