ITGS213 : Introduction to Software Engineering

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

General

Credits

03

Prerequisite

ITGS111

Overview

This course offers an introduction to software engineering. Topics covered: Software Engineering fundamentals; Software processes; Object-oriented concepts and UML; Requirements analysis; System modeling and specification; Software design models; from design to implementation; Software testing; Software tools; Emerging software development methods; Teamwork.

Intended learning outcomes

Knowledge &understand

  • Knowing what software engineering is and why it is important
  • Learn about software development life cycle
  • To explains the activities of each phase of building the software
  • Learn about high quality software features.
  • Describes software development models

mental skills

  • To choose suitable cost estimation tool for a project
  • To choose suitable time estimation tool for a project
  • To compare between Functional and Nonfunctional requirements
  • To choose requirement elicitation methods for the project
  • Linking between the analysis and design tools used in system development.
  • Distinguish between different software process models.

Practical & professional skills

  • Be able to use cost and time estimation tools
  • Use different requirement elicitation methods
  • Be able to create a number of different UML models
  • Selects appropriate tools for each software development method.
  • Use various scientific sources to write research.

General and transferable skills

  • Works within a team
  • To be able to use modern technological tools
  • Be able to writing assignments and reports
  • Able to using internet and scientific references for independent study
  • To be able to do presentations

Teaching and learning methods

  • Lectures
  • Tutorials
  • discussions

Methods of assessments

  • Midterm exam = 40
  • Assignment = 10
  • Final exam = 50

Course contents

  • Introduction of software engineering
  • Project planning
  • Cost estimation techniques
  • Project scheduling
  • software Requirements engineering
  • functional and non-functional requirements
  • Requirements elicitation
  • Requirements analysis
  • UML Language
  • Use case diagram
  • Requirements specification , validation , and management
  • Design Phase
  • Architectural design
  • Object oriented design using UML
  • Implementation issues
  • Programming tools
  • Computer Aided Software Engineering (CASE)
  • Utility Tools
  • Quality assurance and software testing
  • Software process models

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)