ITGS213 : Introduction to Software Engineering

Department

Department of Mobile Computing

Academic Program

Bachelor in Mobile Computing

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

Principles of Games Developments (ITMC404)
Parallel and Distributed Computing (ITMC403)
Mobile Multimedia (ITMC402)
Mobile 3D Graphics (ITMC401)
Mobile Commerce (ITMC304)
Programming Paradigms (ITMC302)
ARM microprocessor (ITMC301)
Arabic language 1 (ITAR111)
General English1 (ITEL111)
Physics (ITPH111)
Intro to Information Technology (ITGS111)
Problem solving Technic (ITGS113)
Mathematics I (ITMM111)
Arabic language 2 (ITAR122)
Mathematics II (ITMM122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Computer Architucture & Organization (ITGS223)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Information Security (ITGS224)
Introduction to Internet Programming (ITGS226)
Introduction to Databases (ITGS228)
Mobile Applications Development (ITMC311)
Design and Analysis algorithms (ITGS301)
Operating System (ITGS302)
Principles of mobile communication networks (ITMC312)
IT Project Management (ITGS303)
Scientific Writing (ITGS304)
Cross-Platform Mobile App Development (Flutter) (ITMC323)
Heterogeneous and Mobile Databases (ITMC322)
Mobile Interaction Design (ITMC321)
Mobile Operating System (ITMC313)
Security in mobile computing (ITMC411)
Personal Area Networks (ITMC412)
Social Networking (ITMC413)
Networks Programming (ITMC414)
Fundamentals ubiquitous computing (ITMC421)
Cloud Computing (ITMC422)