ITSE408 : Web Applications Development

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Elective

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

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
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)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)