نظرة عامة على البرنامج
Software Development Diploma
Overview
The Software Development Diploma program introduces students to various programming aspects of software development and builds fundamental understanding of programming practices, functions, and processes. The program mainly emphasizes on building logical and technical skills that help in efficient software development and understanding.
Curriculum
- Basic of Programming (7 lessons)
- Lesson 1.1: Introduction
- Lesson 1.2: Decision control constructs
- Lesson 1.3: Functions
- Lesson 1.4: Bit manipulation
- Lesson 1.5: Array
- Lesson 1.6: Pointers
- Lesson 1.7: Structure
- Operating System Fundamentals (6 lessons)
- Lesson 2.1: Operating system introduction
- Lesson 2.2: Multi-programming
- Lesson 2.3: Concurrency
- Lesson 2.4: Memory management
- Lesson 2.5: Device management
- Lesson 2.6: Files systems
- Fundamentals of Computer Networks (6 lessons)
- Lesson 3.1: Introduction
- Lesson 3.2: Packet transmission
- Lesson 3.3: Other LAN technologies
- Lesson 3.4: Routing algorithms
- Lesson 3.5: Internet working
- Lesson 3.6: Network services
- Foundation of Programming (C++) (7 lessons)
- Lesson 4.1: Introduction
- Lesson 4.2: The language of object-orientation
- Lesson 4.3: C vs. C++
- Lesson 4.4: Fundamentals of classes
- Lesson 4.5: Operator overloading
- Lesson 4.6: Inheritance
- Lesson 4.7: Introduction to the standard template library
- Objects Oriented Programming using Java (7 lessons)
- Lesson 5.1: Primitives
- Lesson 5.2: Classes and objects in Java
- Lesson 5.3: Objects design and programming with Java
- Lesson 5.4: Fundamentals of classes
- Lesson 5.5: Java interfaces
- Lesson 5.6: Java exception handling
- Lesson 5.7: Java collections API
- Object Oriented Analysis and Design Using UML (6 lessons)
- Lesson 6.1: Fundamentals
- Lesson 6.2: Static models
- Lesson 6.3: Operational models
- Lesson 6.4: Dynamic models
- Lesson 6.5: Establishing requirements
- Lesson 6.6: Introduction to design patterns and implementation
- Cross Platform GUI Programming using QT and C++ (7 lessons)
- Lesson 7.1: Fundamentals of QT
- Lesson 7.2: Core classes and objects in QT
- Lesson 7.3: Widgets
- Lesson 7.4: Model/view
- Lesson 7.5: Animation
- Lesson 7.6: QT and mobile computing
- Lesson 7.7: QT embedded adaption
- Project Management (13 lessons)
- Lesson 8.1: Introduction, production life cycle, and management processes
- Lesson 8.2: Initiating a project
- Lesson 8.3: Project scope planning
- Lesson 8.4: Project scheduling and budgeting
- Lesson 8.5: Planning project integration
- Lesson 8.6: Executing a project
- Lesson 8.7: Monitoring & controlling a project part I
- Lesson 8.8: Monitoring and controlling a project part 2
- Lesson 8.9: Closing a project
- Lesson 8.10: Negotiating
- Lesson 8.11: Law for project managers
- Lesson 8.12: Soft issues in project management
- Lesson 8.13: Course overview
Duration and Lessons
- Duration: 36 weeks
- Lessons: 59
About the Program
The Software Development Diploma program is designed to equip students with the skills and knowledge required to develop and maintain software systems. With the increasing complexity of software systems and the growing reliance on applications, there is an increasing need from organizations for skilled and experienced software developers with the understanding and techniques required to develop and maintain these software systems.
Students master their competences through team projects, assignments, exercises, and decision-making challenges. As a result, they develop innovative and critical thinking abilities. They also build analytic, decision-making, problem-solving, and communication skills that are crucially important to software professionals.
مخطط البرنامج
Outline:
- Module 1: Basics of Programming
- Introduction
- Decision control constructs
- Functions
- Bit manipulation
- Array
- Pointers
- Structure
- Module 2: Operating System Fundamentals
- Operating system introduction
- Multi-programming
- Concurrency
- Memory management
- Device management
- File systems
- Module 3: Fundamentals of Computer Networks
- Introduction
- Packet transmission
- Other LAN technologies
- Routing algorithms
- Internet working
- Network services
- Module 4: Foundation of Programming (C++)
- Introduction
- The language of object-orientation
- C vs. C++
- Fundamentals of classes
- Operator overloading
- Inheritance
- Introduction to the standard template library
- Module 5: Objects-Oriented Programming Using Java
- Primitives
- Classes and objects in Java
- Objects design and programming with Java
- Fundamentals of classes
- Java interfaces
- Java exception handling
- Java collections API
- Module 6: Object-Oriented Analysis and Design Using UML
- Fundamentals
- Static models
- Operational models
- Dynamic models
- Establishing requirements
- Introduction to design patterns and implementation
- Module 7: Cross-Platform GUI Programming Using QT and C++
- Fundamentals of QT
- Core classes and objects in QT
- Widgets
- Model/view
- Animation
- QT and mobile computing
- QT embedded adoption
- Module 8: Project Management
- Introduction, production life cycle, and management processes
- Initiating a project
- Project scope planning
- Project scheduling and budgeting
- Planning project integration
- Executing a project
- Monitoring & controlling a project part I
- Monitoring and controlling a project part 2
- Closing a project
- Negotiating