Engineering of Computer and Information
KINGDOMKINGDOM OFARABIA
OF SAUDI SAUDI ARABIA
Technology
المملكة العربية السعودية
Technical andTechnical and Vocational
Vocational Training Training Corporation
Corporation المؤسسة العامة للتدريب التقني والمهني
Directorate General
General Directorate of Curricula
for Curricula اإلدارة العامة للمناهج
Computer Software
نسخة أولية
الخـطط التدريبية للكليات التقنية
Training Plans for Technical Colleges
Curriculum for Department of
Engineering of Computer and Information
Technology
Major
Computer Software
A Bachelor's Degree
Semesters
1439 H – 2018 G
1
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Index
No. Content Page
1. Index 1
2. Program Description 2
3. Study Plans 3
4. Brief Course Description 6
5. Courses Description 11
6. Appendix Laboratory Equipment, Workshops and Laboratories 82
7. List of Detailed Equipment for Each Laboratory, Workshop or Lab 82
8. References 83
1
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Program Description
The development and implementation of Software and Programming Solutions and technologies have
changed the way humans live. The tools of Information and Communication Technologies with the Smart
Technologies and Devices provide powerful tools to easy our life, do businesses more efficient and provide
quality services. However, the demand to create and develop more sophisticated programming solutions
and innovative software products continues to evolve, and remains crucial particularly for the Saudi
marketplace. The Bachelor of Computer Programming program comes in this critical time to enable the
students to gain the theoretical, practical, technical, professional and interpersonal abilities, as well as
problem solving and decision making skills, needed for working in different sectors of the Saudi
marketplace and for various Saudi companies in the area of Information and Communication Technologies.
This program aims to prepare professional computer and software programmers with the technical and
managerial capabilities and competencies to engage in the development of computer systems, software
applications, information systems, database applications, Smartphone applications, web services and
platforms, etc.
The courses in the Bachelor of Computer Programming focus on different core topics including
programming languages, software engineering and development, web technologies, Smartphone
technologies and applications, coding testing and security, etc. The skills gained by the students in the
Bachelor of Computer Programming will prepare them after graduation for a career in computer and
software programming industry, and prepare them for further studies at graduate and postgraduate degrees.
The graduates with the Bachelor of Computer Programming degree will be able to pursue a wide range of
careers with high rates of salaries including, but are not limited to: Computer Programmer, Information
System Programmer, Software Developer, System Developer, Software and Coding Tester, Software
Solutions Programmer, System Analyst, System Designer, Web Developer, Database Programmer,
Smartphone Applications Developer, Business Process Analyst, and other careers.
The Theoretical and Practical Tests and Graduation Projects Determine Learning Outcomes and
Trainee Levels for each program.
The training courses contain a theoretical part and a practical part. The practical part is tested as a
practical test and the theoretical part is a theoretical test with different evaluation methods.
The Bachelor Degree Graduate gets the seventh level in the Saudi Arabian Qualifications Framework
(SAQF).
Admission Requirements: The applicant must have a diploma in Computer Programming.
2
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Study Plan
Sixth Semester
Course No. of Units
No. Course Name Pre. Req
Code CRH L P T CTH
1 MATH 301 Mathematics -1 3 2 2 0 4
2 PHYS 301 Physics 3 2 2 0 4
3 ENGL 301 English Language -1 3 3 0 1 4
4 UACC 301 Principles Of Accounting 3 2 2 1 5
5 IPRG 313 Advanced computer Programming 4 3 2 0 5
Total 16 12 8 2 22
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
Seventh Semester
Course No. of Units
No. Course Name Pre. Req
Code CRH L P T CTH
1 STAT 303 Statistics and Probability 3 3 0 1 4
2 MATH 303 Discrete Math MATH 301 3 2 2 0 4
3 IPRG 335 Advanced Web Programming 4 3 2 0 5
IT Terminologies and Technical
4 IPRG 382 2 2 0 1 3
Writing
5 IPRG 325 Algorithms Design & Data Structure 3 3 0 1 4
Total 15 13 4 3 20
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
Eighth Semester
Course No. of Units
No. Course Name Pre. Req
Code CRH L P T CTH
1 ENGL 302 English Language -2 ENGL 301 3 3 0 1 4
2 INSA 351 Network Technologies -1 3 2 2 0 4
3 IPRG 473 Multimedia Systems Development 3 2 2 0 4
4 IPRG 443 Advanced Software Engineering IPRG 313 3 3 0 0 3
5 IPRG 472 Embedded system programming IPRG 313 3 2 2 0 4
Total 15 12 6 1 19
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
3
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Ninth Semester
Course No. of Units
No. Course Name Pre. Req
Code CRH L P T CTH
1 IPRG 324 Database Management Systems 3 2 2 0 4
Advanced Smart Devices
2 IPRG 453 IPRG 313 3 2 2 0 4
Programming -1
3 IPRG 461 User Interface Design IPRG 443 3 2 2 0 4
Enterprise Resources Planning
4 IPRG 478 UACC 301 3 2 2 0 4
Systems - ERP
5 Elective Courses -1 3 2 2 0 4
Total 15 10 10 0 20
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
Tenth Semester
Course No. of Units
No. Course Name Pre. Req
Code CRH L P T CTH
Advanced Smart Devices
1 IPRG 454 IPRG 453 3 2 2 0 4
Programming -2
2 IPRG 474 Software security IPRG 324 3 2 2 0 4
IPRG 453
3 IPRG 492 Graduation Project 4 2 4 0 6
IPRG 472
4 Elective Courses -2 3 2 2 0 4
5 Elective Courses -3 3 2 2 0 4
Total 16 10 12 0 22
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
CRH L P T CTH
Total Number of Semesters Credit Units
77 57 40 6 103
Total of training Hours
16 * 103
1648
4
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Elective Courses
Elective Course 1
No. Course No. of Units
Course Name Pre. req
Code CRH L P T CTH
1 IPRG 484 Selected Topics 3 2 2 0 4
Software Testing and Quality
2 IPRG 483 IPRG 443 3 2 2 0 4
Assurance
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
Elective Course 2
No. Course No. of Units
Course Name Pre. req
Code CRH L P T CTH
1 IPRG 475 Cloud computing IPRG 324 3 2 2 0 4
2 IPRG 476 Big Data Analytics IPRG 324 3 2 2 0 4
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
Elective Course 3
No. Course No. of Units
Course Name Pre. req
Code CRH L P T CTH
1 IPRG 477 Data Mining IPRG 324 3 2 2 0 4
2 INSA 485 Internet of Things 3 2 2 0 4
CRH:Credit Hours L:Lecture P:Practical T:Tutorial CTH:Contact Hours
5
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Brief Course Description
Course Course Credit
Advanced computer Programming IPRG 313 4
Name Code Hours
This course focuses on Java program’s structure, constants, variables and built-in data
types. The arithmetic, assignment, increment and decrement operators. Classes and
object definition, UML representation of a class, declaration of objects (Instance
variables), primitive types and reference types. Relational and logical operators,
Description Boolean expressions, conditional statements, loop statements. Object oriented
principles, encapsulation and information hiding, methods and the message passing
principles, setters, and getters. Methods in depth, passing parameters, constructors,
setters. Arrays, usefulness of arrays, declaration of arrays, access to array elements,
operations on arrays.
Course Course Credit
Advanced Web Programming IPRG 335 4
Name Code Hours
This course aims to explore, discuss, and research emerging technologies in the web
arena. Emphasis is placed on exposure to up-and-coming technologies relating to the
web, providing hands-on experience, and discussion of practical implications of these
emerging fields. It allows students to gain an in-depth understanding of new web
Description technologies, services and business models in fixed and mobile networks. The course
will cover topics such as HTML, XML, Css, JavaScript, Web services, Rich Internet
Applications (RIA), Hypertext and Hypermedia Systems, Web application
frameworks, and some Advanced Topics in Emerging Web Technologies such as
Cloud/Grid Computing and Mobile Computing.
Course IT Terminologies and Technical Course Credit
IPRG 382 2
Name Writing Code Hours
This course introduces the professional communication and technical documentation
and writing a student will need to engage in the marketplace. The course focuses on
the production of accurate and clear technical communication and presentation of
materials to be accessible to audiences from different domains. Topics of interest
Description include the process of writing including planning, drafting, revising and editing
documentation. Computer concepts (digital basics, devices, networks, the web, social
networking, etc.), ethical and legal, collaboration, copyright, verbal and visual
information, software applications for technical writing, and other issues are also
included in this course.
Course Algorithms Design & Data Course Credit
IPRG 325 3
Name Structure Code Hours
This course enhances the programming skills of the students. It emphasizes the
importance of information hiding and how to use abstraction in good program design.
This course introduces the basic data structures and algorithm analysis to be used as
tools in designing problems solutions. This course includes: algorithm analysis and
design where students will be able to estimate algorithms growth rates and describe it
Description
using big O notation. Data structures includes: lists and linked-lists, stacks, queues,
priority queues, trees and its traversal, binary search trees, heaps, hash tables and
graphs and graphs’ algorithms. Also, important sorting and searching algorithms will
be discussed including: bubble sort, insertion sort, selection sort, merge sort, heap sort
and radix sort, sequential search and binary search.
6
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Course Course Credit
Multimedia Systems Development IPRG 473 3
Name Code Hours
The use of multimedia is growing rapidly and become unavoidable part in our daily
life. This course introduces the modern multimedia and its evolution. The course
focuses on the key components of multimedia technologies including text, graphics,
voice, video and animation. Principles, standards and technologies of multimedia
Description systems will be addressed in this course and students will gain hands-on experience
in this area. The course provides trends in the development, tools, techniques,
compression and decompression standards, and guidelines facilitating the planning,
design, production and implementation of multimedia. It also covers scanning process,
developing, editing and professional issues related to multimedia systems.
Course Course Credit
Advanced Software Engineering IPRG 443 3
Name Code Hours
This course follows Software Engineering course (at diploma degree) as it continues
the investigation into software development life cycle to its end. Students will be
exposed to an in-depth coverage of design (architectural design, interface design).
They will be introduced to different approaches to software development (e.g. Rapid
Software Development, Extreme programming, and Component Based Software
Description
Engineering) and system integration (validation, verification, inspections and
dynamic testing techniques). This course also introduces students to the program
evolution process, software maintenance, managing the code, documentation,
configuration management, and software quality management including software
measurements and metrics.
Course Course Credit
Embedded System Programming IPRG 472 3
Name Code Hours
Applications of embedded systems appears in many areas surrounding us including
automotive systems, traffic control and safety, aircraft control systems, defense
systems, manufacturing, toys and games, energy management, robotics, medical
devices and other industry sectors. This course introduces the concepts of embedded
Description systems with focus on designing, interfacing, configuring and programming
embedded systems. Python language, which will be taught in this course, is used by
embedded developers in automating tests and writing frameworks that exchange data
over serial port to communicate with device firmware. This course prepares students
for cutting edge careers in both industry and research sectors.
Course Course Credit
Database Management Systems IPRG 324 3
Name Code Hours
This course introduces the concepts and terminologies of modern Data Base
Management Systems (DBMS). The course focuses on the concepts and using the
statements of the Structured Query Language (SQL) for the development of DBMS
and its applications towards building relational databases. The course also introduces
Description
the tools, techniques and methods for securing and protection the relational databases
with the administrative part of the DBMS. The students will need to practice in the
computer labs using SQL statements and query language to develop and manipulate
relational databases using a DBMS.
7
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Course Advanced Smart Devices Course Credit
IPRG 453 3
Name Programming -1 Code Hours
The widespread of cutting edge smart devices such as smart phones and tablets creates
opportunities in applications development market. This course enhances the
programming skills of the students to develop applications for Apple smart devices
Description such as iPhones and iPads. The course focuses on the latest iOS application
development with Swift which is a new programming language from Apple. This
course follows the application development processes including planning, analysis,
design, development & implementation, testing and maintenance.
Course Course Credit
User Interface Design IPRG 461 3
Name Code Hours
This course introduces advance features in user interface design by studying both
theoretical and practical issues in human-computer interfaces. These include
development awareness of various approaches to the design of contemporary user
interfaces, and to identify key principles by which effective contemporary user
Description
interfaces are designed. The course also addresses various interface issues that are
applicable to interactive systems such as user-centered interaction thinking and
methods of usability testing since there is a need to develop current and next-
generation interactive technologies.
Course Enterprise Resources Planning Course Credit
IPRG 478 3
Name Systems - ERP Code Hours
This course introduces the Enterprise Resources Planning (ERP) systems and the
computing paradigms considered by organizations. The focus will be on how
enterprise resources planning and information systems with their core modules
support accounting, financial, human resources and manufacturing business functions
Description and operations, theoretically and practically. Topics will also include ERP planning,
package selection, acquisition, development, integration with business processes and
other systems, deployment, and implementation. Technical architecture, security
issues related to ERP system and the application of analytical thinking and business
knowledge for problem solving and decision making are also included in this course.
Course Advanced Smart Devices Course Credit
IPRG 454 3
Name Programming -2 Code Hours
This course will be a complementary of Advanced Smart Devices Programming 1
course as it focuses on the hybrid application development for both android and iOS
smart devices. The course is aimed to enable students to ensure that their applications
are secure, scalable and high performing in various platforms. Ionic, which was built
Description on top of AngularJS and Apache Cordova, will be taught in this course as it offered a
complete solution for hybrid application development for smart devices. It is using
Web technologies such as CSS, HTML5, and Sass. Thus, this course provides students
with rich practical knowledge on hybrid application development for cross-platform
smart devices.
8
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Course Course Credit
Software Security IPRG 474 3
Name Code Hours
This course introduces the intersection of computer security and software engineering.
The course provides students with practical experience on building a software system,
and on security as part of software engineering process. Topics include computer
security, software and devices security, operating systems security, and security for
Description networks and databases. Further, due to the rapidly evolving threats, attacks, risks and
countermeasures in computing environments, this course provides best practices to
prevent malicious code execution, authenticate users, use encryption, protect privacy,
and implement firewalls; ultimately, to build software systems throughout a secure
lifecycles of system development and acquisition.
Course Course Credit
Graduation Project IPRG 492 4
Name Code Hours
This course introduces the students to a comprehensive experience for the
development of computer software or hardware system. The project duration is one
semester dedicated to finish the entire stages: investigation, analysis, design,
implementation, testing and changes. The students may work in small groups or teams,
Description and will be introduced to project management principles and practices. Students then
are to apply their technical skills in a major area of technologies to develop software,
hardware or on both to solve practical application or business problem. This may
include database, networking, security, smart technologies, or any other ICT area of
work.
Course Course Credit
Selected Topics IPRG 484 3
Name Code Hours
This course introduces the new trends, research, technological, software engineering
and programming approaches in the field of computer programming and technologies
with their applications in the marketplace. The focus will be on the latest and emerging
trends such as distributed systems and databases, electronic governments, Internet
Description
banking, smart technologies, smart government, and so on. Special attention is also
given to the latest analytical tools and applications including cloud computing, big
data, business intelligence, cyber-security, etc. the lecturer is to update these topics as
they appear in the domain of information and communication technologies.
Course Course Credit
Data Mining IPRG 477 3
Name Code Hours
This course offers an introduction to data mining concepts and techniques. The goal
is for the students to have a solid foundation in data mining that allows them to apply
data mining techniques to real-world problems and to conduct research and
Description
development in new data mining methods. Topics include data mining algorithms and
methods, association analysis, classification, data visualization, prediction techniques
and data clustering analysis.
9
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Course Course Credit
Big Data Analytics IPRG 476 3
Name Code Hours
This course introduces the fundamental concepts, technologies, and innovative
applications of Big Data systems with focus on distributed systems, distributed file
systems, virtualization technologies, programming models, resource management,
and analytics techniques that are needed for developing scalable and efficient next-
Description
generation applications for processing Big Data. Topics will also include bridging the
gap between analytics and data driven technologies, and performance evaluation and
benchmarking. Hands-on practice with Hadoop, MapReduce platforms and big data
databases like SQL and noSQL will be key components of this course.
Course Course Credit
Cloud Computing IPRG 475 3
Name Code Hours
This course introduces the fundamental concepts, technologies, and innovative
applications of Cloud Commuting systems, distributed systems and file systems, map-
reducing programming models, resource management, virtualization technologies,
Description programming models, cloud models and analytics techniques that are needed for
developing scalable and efficient next-generation applications for processing Big
Data. Hands-on experience with Hadoop, MapReduce platforms and big data
databases like SQL and noSQL will be key components of this course.
Course Software Testing and Quality Course Credit
IPRG 483 3
Name Assurance Code Hours
This course introduces the fundamentals, strategies and techniques for ensuring the
quality of software systems through the entire development and implementation
processes. The course provides students with hands-on and practical strategies and
experiences on testing software systems and the technologies used in this field. Topics
Description include software bugs and software faults, Model-Driven test design, Test Automation
and Execution, Criteria-Based Test Design, Testing Coverage Criteria such as Graph,
Logic and Syntax-Based Testing, assessing, managing and reporting the software
defectives, and managing, planning and implementing the software testing process
and project.
10
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Courses Description
11
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Advanced Computer Programming Course Code IPRG 313
Credit Hours 4 CTH 5
Prerequisites CRH L 3 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description:
This course focuses on Java program’s structure, constants, variables and built-in data types. The arithmetic,
assignment, increment and decrement operators. Classes and object definition, UML representation of a class,
declaration of objects (Instance variables), primitive types and reference types. Relational and logical operators,
Boolean expressions, conditional statements, loop statements. Object oriented principles, encapsulation and
information hiding, methods and the message passing principles, setters, and getters. Methods in depth, passing
parameters, constructors, setters. Arrays, usefulness of arrays, declaration of arrays, access to array elements,
operations on arrays.
Topics :
OOP concepts
Data Structure
Networking in Java
Java Applet
Experiments:
References :
Detailed of Theoretical Contents
No. Contents Hours
1 Object Oriented Programming Concepts 10
Inheritance
Overriding
Polymorphism
abstraction
Encapsulation
Interfaces
Packages
2 Data Structure 7
Linked lists
Stacks
Queues
3 Collection 7
The collection interfaces
The collection classes
The collection algorithms
Collection Methods
Lists
4 Generic 6
Generic Methods
Bounded Type Parameters
Generic Classes
12
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
5 Networking in Java 6
URL Class
URLConnection class
InetAddress class
Socket class
6 Java Applet 12
Introduction
The Applet Class
HTML <applet> tag
HTML Attribute Reference
Getting Applet Parameters
Application Conversion to Applet
Event Handling
Image Display
Audio Play
JavaTM How to Program, Tenth edition
Textbook:
Java All=IN-ONE FOR DUMMIES, 4th Edition
Detailed of Practical Contents
No. Contents Hours
1 LAB 1: Object Oriented Programming 2
2 LAB 2: Object Oriented Programming 2
3 LAB 3: Object Oriented Programming 2
4 LAB 4: Object Oriented Programming 2
LAB 5: Data Structure
5 3
LAB 6: Data Structure
6 3
LAB 7: Collection
7 3
LAB 8: Generic
8 3
9 LAB 9: Networking 3
10 LAB 10: Networking 3
13
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
11 LAB 11: Networking 2
LAB 12: Java Applet
12 2
LAB 13: Java Applet
13 2
JavaTM How to Program, Tenth edition
Textbook:
Java All=IN-ONE FOR DUMMIES, 4th Edition
14
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Advanced Web Programming Course Code IPRG 335
Credit Hours 4 CTH 5
Prerequisites CRH L 3 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :This course aims to explore, discuss, and research emerging technologies in the web arena.
Emphasis is placed on exposure to up-and-coming technologies relating to the web, providing hands-on
experience, and discussion of practical implications of these emerging fields. It allows students to gain an in-depth
understanding of new web technologies, services and business models in fixed and mobile networks. The course
will cover topics such as HTML, XML, Css, JavaScript, Web services, Rich Internet Applications (RIA),
Hypertext and Hypermedia Systems, Web application frameworks, and some Advanced Topics in Emerging Web
Technologies such as Cloud/Grid Computing and Mobile Computing
Topics :
HTML5
Css3
JavaScript
PHP & MySql
Experiments:
References :
Detailed of Theoretical Contents
No. Contents Hours
1 HTML5 9
Introduction to HTML5
The Evolution of HTML5
HTML5 Structure Elements, Forms, Audio and Video
HTML5 Canvas
HTML 5 APIs
2 Using Cascading Style Sheets Version 3 (CSS3) 9
Introduction to CSS3
CSS3 Selectors and Properties
CSS3 Background, Colors, and Masks Properties
CSS3 Border and Box Properties
CSS3 Font and text Properties
CSS3 Transformations, Transitions, Animations
CSS3 User Interfaces
Creating Menus and Buttons with CSS3
3 JavaScript 9
HTML5 and JavaScript
Embedding JavaScript into HTML5 Documents
JavaScript Events
JavaScript Functions
JavaScript Methods
4 PHP 9
Control statements
Strings and numbers
15
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Arrays
Functions
5 MySQL 6
SQL statements for data manipulation
Introduction to MySQL
Connecting to MySQL
Select statement
Querying a Database in PHP
6 eXtensible Markup Language (XML) 6
Basic Rules of XML
Describing and Viewing XML Data
Validating XML data with a Document Type Definition
Styling XML data with CSS
Web Programming and Internet Technologies, 2nd edition. By Scobey.
Publisher: Jones & Bartlett LearningmRelease Date: September 2016 ISBN:
Textbook:
9781284070699
Detailed of Practical Contents
No. Contents Hours
1 Lab: HTML5 5
2 Lab: Css3 6
3 Lab: JavaScript 6
4 Lab: PHP 3
5 Lab: MySql 2
6 Lab: PHP & MySql 6
7 Lab: XML 4
Web Programming and Internet Technologies, 2nd edition. By Scobey.
Textbook: Publisher: Jones & Bartlett LearningmRelease Date: September 2016 ISBN:
9781284070699
16
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
IT Terminologies and Technical
Course Name Course Code IPRG 382
Writing
Credit Hours 2 CTH 3
Prerequisites CRH L 2 P 0 T 1
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the professional communication and technical documentation and writing a
student will need to engage in the marketplace. The course focuses on the production of accurate and
clear technical communication and presentation of materials to be accessible to audiences from different
domains. Topics of interest include the process of writing including planning, drafting, revising and
editing documentation. Computer concepts (digital basics, devices, networks, the web, social networking,
etc.), ethical and legal, collaboration, copyright, verbal and visual information, software applications for
technical writing, and other issues are also included in this course.
Topics :
Technical Communications and Documents
Writing in Teams, Life Cycle and Management
Academic and Workplace Research
Computer and ICT Terminologies
Verbal and Visual Information
Ethical and Legal Issues
Experiments: if applicable it will support the course topics
References :
Technical Communication, 11th Edition, 2015, Mike Markel, Bedford/St. Martin MacMillan,
ISBN-13: 978-1457673375
New Perspectives on Computer Concepts 2016, Introductory, 18th Edition, 2016, June Jamrich
Parsons, Course Technology, ISBN: 9781305387751
Technical Communication: Process and Product, 8th Edition, 2013, Sharon Gerson and Steven
Gerson, Pearson, ISBN-13: 978-0321864949
Detailed of Theoretical Contents
No. Contents Hours
1 Technical Communication and Writing 4
Producing Technical Communication
Characteristics of a Technical Document
Excellence in Technical Documents
Successful Workplace Communicators
Writing and Documentation Tools
Organizing and Outlining Documents
Drafting Documents
Modifying Documents
Revising Documents
Editing Documents
Proofreading Documents
17
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
2 Writing Collaboratively 4
Collaboration for Documentations
Team Writing Assignment Modules
Managing Projects
Conducting Meetings
Listening Effectively
Team's Agenda
Work-Scheduling
Communicating Diplomatically
Critiquing Colleagues
Collaboration Tools
Messaging Technologies
Videoconferencing
Shared Documents
Gender and Culture issues
3 Planning the Documentation 4
Understanding Audience and Purpose
Audience Profile Sheet
Characteristics of Audience
Readers’ Attitudes and Expectations
Interviewing People
Searching Social Media
Analyzing Social-media Data
Communicating Across Cultures
Using Graphics and Design
Writing for Multiple Audiences
4 Academic and Workplace Research 4
Research Process
Academic Research
Workplace Research
Research Methods and Tools
Primary and Secondary Research
Social Media Resources
Research Evaluation
Observations and Demonstrations
Inspections and Experiments
Field Research
Inquiries and Questionnaires
5 Organizing Technical Information 4
Conventional Patterns of Organization
Chronological Organization
Spatial Organization
General to Specific
Important to Less Important
Comparison and Contrast
Classification and Partition
Problem-Methods-Solution
Cause and Effect
18
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
6 Verbal and Visual Information 4
Context of Argument
Working Within Constraints
Crafting a Persuasive Argument
Identifying the Elements of Argument
Using the Right Kinds of Evidence
Considering Opposing Viewpoints
Appealing to Emotions Responsibly
The Role of Culture in Persuasion
Using Graphics
7 Emphasizing Important Information 4
Writing Clear
Informative Titles
Informative Headings and Lists
Effective Paragraph Lists
Effective Sentence Lists
Informative Paragraphs
Structure Paragraphs
Coherence Devices
8 Writing Correspondence 4
Process of Writing
Type of Correspondence
Effective Correspondence
Writing Letters, Memos, E-mails and Micro-blogs
Writing Job-Application
Crafting Personal Brand
Writing Résumés
Writing Research Proposals
Budget Preparation
Writing Informational Reports
Writing Field Reports
Writing Progress and Status Reports
Writing Incident Reports, Meeting Minutes and Technical Reports
Technical Communication, 11th Edition, 2015, Mike Markel, Bedford/St.
Martin MacMillan, ISBN-13: 978-1457673375
Textbook:
Technical Communication: Process and Product, 8th Edition, 2013, Sharon
Gerson and Steven Gerson, Pearson, ISBN-13: 978-0321864949
19
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
1 Working with Digital Contents and Devices 3
Digital Basics and Sounds
Bitmap Graphics
Vector Graphics
Digital Video
Device Basics
Device Options
Processors and Memory
Storage, Input and Output
2 Working on the Web 2
Web Basics
Browsers
HTML. HTTP
Search Engines
Web Pages
Home Pages
3 Working with Software and Information Systems 3
Software Basics and Operating Systems
Applications and Apps
Productivity Software
File Management Utilities
Information System Basics
Enterprise Applications
Systems Analysis
Design and Implementation
System Security
Decisions Support
4 Communication Channels and Process 3
Smartphones and Technical Communication
Mobile Apps Communications
Teamwork in Technical Communication
Diverse and Dispersed Teams
Effective Collaboration
Collaborative Projects
Conflict Resolution
Communication Process
Writing Process
Prewriting, Rewriting and Goals
Usability Testing
Revision Techniques
5 Ethics in the Workplace 2
Business Ethics
Intellectual Property Types
Copyrights and Patents
Ethics of Intellectual Property Laws
Protecting Intellectual Property
Making Ethical Decisions
20
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
6 Research Documentation 3
Conduct Research
Secondary Research
Primary Research
Field Research
Research Groups and Teams
Research Meeting
Research Reporting
Research Writing Process
Research Validity and Reliability
Research Publishing
New Perspectives on Computer Concepts 2016, Introductory, 18th Edition,
2016, June Jamrich Parsons, Course Technology, ISBN: 9781305387751
Textbook:
Technical Communication: Process and Product, 8th Edition, 2013, Sharon
Gerson and Steven Gerson, Pearson, ISBN-13: 978-0321864949
21
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Algorithms Design & Data
Course Name Course Code IPRG 325
Structure
Credit Hours 3 CTH 4
Prerequisites CRH L 3 P 0 T 1
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :This course enhances the programming skills of the students. It emphasizes the
importance of information hiding and how to use abstraction in good program design. This course
introduce the basic data structures and algorithm analysis which are to be used as tools in designing
solutions to problems. This course includes: algorithm analysis and design where students will be able to
estimate algorithms growth rates and describe it using big O notation. Data structures includes: lists and
linked-lists, stacks, queues, priority queues, trees and its traversal, binary search trees, heaps, hash tables
and graphs and graphs’ algorithms. Also, important sorting and searching algorithms will be discussed
including: bubble sort, insertion sort, selection sort, merge sort, heap sort and radix sort, sequential search
and binary search.
Topics :
Basics of algorithm analysis
Arrays and Linked lists
Stacks
Queues
Trees
Sorting
Searching
Graphs algorithms
Experiments:
References :
Detailed of Theoretical Contents
No. Contents Hours
1 Complexity Analysis : 7
Algorithm and its properties,
Computational and Asymptotic Complexity,
Complexity Notations – Big-Omega(Ω) and Theta(Ɵ) Notations,
The Best, Average and Worst Case Analysis.
2 Arrays and Linked Lists: 5
Practical uses of Arrays
Singly Linked List and its basics operations – Insertion, Deletion and
Search,
Circular Linked Lists,
Double Linked Lists
3 Stacks: 5
Introduction to Stack,
Basic Operations on Stacks – clear,
push and pop. Applications of Stack ,
4 Queues: 5
Introduction to Queue,
22
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Basic operations on Queue – clear, enqueue, dequeue.
Applications of Queue,
Priority Queues.
5 Trees 7
Trees definitions and properties
Binary Trees
Tree representation
6 Searching: 7
Sequential search
Binary Search,
7 Sorting: 6
Sorting Techniques,
Insertion Sort,
Selection Sort,
Bubble Sort,
Quick Sort
Merge Sort,
8 Graph Algorithms 6
Definitions
Topological Sort
Shortest Path Algorithms Network Flow Problems
Minimum Spanning Tree
Data Structure & Algorithms in Java, sixth edition
Textbook:
Data Structures and Algorithm Analysis in C++, Addison Wesley, 2014. M. A. Weiss
Detailed of exercise Contents
No. Contents Hours
1 Complexity Analysis : 2
Algorithm and its properties,
Computational and Asymptotic Complexity,
Complexity Notations – Big-Omega(Ω) and Theta(Ɵ) Notations,
The Best, Average and Worst Case Analysis.
2 Arrays and Linked Lists: 2
Practical uses of Arrays
Singly Linked List and its basics operations – Insertion, Deletion and
Search,
Circular Linked Lists,
Double Linked Lists
3 Stacks: 2
Introduction to Stack,
Basic Operations on Stacks – clear,
push and pop. Applications of Stack ,
4 Queues: 2
Introduction to Queue,
Basic operations on Queue – clear, enqueue, dequeue.
Applications of Queue,
Priority Queues.
23
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of exercise Contents
No. Contents Hours
5 Trees 2
Trees definitions and properties
Binary Trees
Tree representation
6 Searching: 2
Sequential search
Binary Search,
7 Sorting: 2
Sorting Techniques,
Insertion Sort,
Selection Sort,
Bubble Sort,
Quick Sort
Merge Sort,
8 Graph Algorithms 2
Definitions
Topological Sort
Shortest Path Algorithms Network Flow Problems
Minimum Spanning Tree
Data Structure & Algorithms in Java, sixth edition
Textbook:
Data Structures and Algorithm Analysis in C++, Addison Wesley, 2014. M. A. Weiss
24
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Multimedia Systems Development Course Code IPRG 473
Credit Hours 3 CTH 4
Prerequisites CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description:
The use of multimedia is growing rapidly and become unavoidable part in our daily life.This course
introduces the contemporary multimedia and its evolution. The course focuses on the key components of
multimedia technologies including text, graphics, voice, video and animation. Principles, standards and
current technologies of multimedia systems will be addressed in this course and students will gain hands-
on experience in this area. The course provides trends in the development, tools, techniques, compression
and decompression standards, and guidelines facilitating the planning, design, production, and
implementation of multimedia.This course covers scanning process, developing, editing and professional
issues related to multimedia systems.
Topics:
Multimedia Revolution
Digital Data
Computer Hardware
Computer Software
Text
Graphics
Sound
Video
Animation
Authoring & Multimedia Development
Professional Issues in Multimedia Development
Experiments: if applicable it will support the course topics
Reference:
An Introduction to Digital Multimedia, T. M. Savage and K. G. Vogel, Second Edition, Jones
and Barlett Learning, 2014, ISBN: 9781449688394.
Detailed of Theoretical Contents
No. Contents Hours
1 Multimedia Revolution 3
Nature of a revolution
Definition of modern multimedia
Forms of multimedia
Origins of multimedia
Visionaries of multimedia
Potential of digital media
2 Digital Data 3
Elements of Digital Media
Digital Codes
Digital Files
Digitization Process
25
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Compression for Digital Media
Advantages of Digital Media
Challenges of Digital Media
3 Computer Hardware 3
Components of a Computer System
Types of Computer Systems
Computer Platforms
Hardware Basics
Network Fundamentals
4 Computer Software 3
Main Categories of Software
Functions of The Operating System
Types of Programming Languages
Software for Multimedia Development
5 Text 3
Text tradition.
Codes for computer text
Font technologies
Multimedia text
Guidelines for use of text in multimedia
6 Graphics 3
Key Elements of Traditional Graphics
Features and Uses of Computer Graphics
Bitmapped Images
Vector-Drawn Images
3-D Graphics
Guidelines for Using Graphics in Multimedia
7 Sound 2
Nature of Sound
Traditional Sound Reproduction
Digital Sound
Sampled
Synthesized
Advantages of Digital Sound
Guidelines for Digital Sound in Multimedia
8 Video 3
Digital Video
Quality Factors
Compression Strategies
File Formats
Create Original Video
Digital Video Camera Considerations
Guidelines for Video in Multimedia
9 Animation 3
Animation Basics
Traditional Animation Techniques
2-D Animation Techniques
26
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
3-D Animation
Guidelines for Animation in Multimedia
10 Authoring & Multimedia Development 3
Approaches of Integrating Media Elements
Authoring Metaphors
Authoring Process
Guidelines to Select an Authoring Application
Requirements of Multimedia Development
Team Members
Development Plan
11 Professional Issues in Multimedia Development 3
Definition and Characteristics of a Profession
Elements of A Professional Code of Ethics
Copyright
Challenges Created by The Digital Revolution
Digital Rights Management
Challenges and Opportunities
Computer Networking: A Top-Down Approach, 2017, James Kurose and Keith Ross,
Textbook:
7th Edition, Pearson, ISBN-13: 978-0133594140
Detailed of Practical Contents
No. Contents Hours
1 Digital Data& Computer Software 4
Elements of Digital Media
Digital Codes
Digital Files
Digitization Process
Compression for Digital Media
Software for Multimedia Development
2 Text 4
Text tradition.
Codes for computer text
Font technologies
Multimedia text
Guidelines for use of text in multimedia
3 Graphics 5
Key Elements of Traditional Graphics
Features and Uses of Computer Graphics
Bitmapped Images
Vector-Drawn Images
3-D Graphics
Guidelines for Using Graphics in Multimedia
4 Sound 4
Nature of Sound
Traditional Sound Reproduction
Digital Sound
27
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
Sampled
Synthesized
Advantages of Digital Sound
Guidelines for Digital Sound in Multimedia
5 Video 5
Digital Video
Quality Factors
Compression Strategies
File Formats
Create Original Video
Digital Video Camera Considerations
Guidelines for Video in Multimedia
6 Animation 5
Animation Basics
Traditional Animation Techniques
2-D Animation Techniques
3-D Animation
Guidelines for Animation in Multimedia
7 Authoring & Multimedia Development 5
Approaches of Integrating Media Elements
Authoring Metaphors
Authoring Process
Guidelines to Select an Authoring Application
Requirements of Multimedia Development
Team Members
Development Plan
Computer Networking: A Top-Down Approach, 2017, James Kurose and Keith Ross,
Textbook:
7th Edition, Pearson, ISBN-13: 978-0133594140
28
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Advanced Software Engineering Course Code IPRG 443
Credit Hours 3 CTH 3
Prerequisites IPRG 313 CRH L 3 P 0 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :This course follows Software Engineering course (at diploma degree) as it continues the
investigation into software development life cycle to its end. Students will be exposed to an in-depth coverage of
design (architectural design, interface design). They will be introduced to different approaches to software
development (e.g. Rapid Software Development, Extreme programming, and Component Based Software
Engineering) and system integration (validation, verification, inspections and dynamic testing techniques). This
course also introduces students to the program evolution process, software maintenance, managing the code,
documentation, configuration management, and software quality management including software measurements
and metrics.
Topics :
System Analysis & Design Stages
Software Testing
Software Evolution
Software reuse
Software management
Experiments:
References :
Detailed of Theoretical Contents
No. Contents Hours
1 Planning 6
Identifying and Selecting Development Projects
Process of identifying and selecting development projects
Corporate Strategic Planning
Information System Planning
Initiating and Planning Systems Development Projects
The process of Initiating and Planning Information Systems
Development Projects
Assessing Project Feasibility
Building and Reviewing the Baseline Project Plan
2 Analysis 8
Determing Software Requirements
Performibng Requirements Detemination
Traditional Methods
Contemporary Methods
Radical methods
Requierments Management Tools
Requieremnt Determenation Using Agile Methodologies
Analyzing Software Process Requirements
Process Modiling
Data Flow Diagramming Mechanics
Object-Oriented Analysis & Design
Use cases
Activity Digram
29
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Sequence diagram
Analyzing System Data Requirements
Object-Oriented Analysis & Design
Object modeling-class diagram
3 Design 8
Database Design
Process of database design
Relational database design
Normalization
Transforming ER diagram into relations
Merging Relations
Logical database design
Physical database design
Forms & Report Design
Process of Forms & Report
Formatting Forms & Report
Assessing Usability
Interface & Dialogue Design
Process of Interface & Dialogue Design
Interaction methods and Devices
Designing interfaces
Designing dialogues
4 Implementation and Maintenance 8
Implementing The System
System implementation
Software application testing
Installation
System Documentation
Training and supporting users
Organizational issues in System implementation
Maintaining The System
Process of Maintaining The System
Conducting system maintenance
Web site maintenance
5 Software Testing 3
Development testing
Test-driven development
Release testing
User testing
6 Software Evolution 3
Evolution processes
Legacy systems
Software maintenance
7 Software Reuse 3
The reuse landscape
Application frameworks
Software product lines
Application system reuse
30
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
8 Software management 6
Project management
Project planning
Quality management
Configuration management
Software Engineering, 10 Edition,
Textbook:
Modern System Analysis and Design.
31
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Embedded System Programming Course Code IPRG 472
Credit Hours 3 CTH 4
Prerequisites IPRG 313 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description:
Applications of embedded systems appears in many areas surrounding us including automotive systems,
traffic control and safety, aircraft control systems, defense systems, manufacturing, toys and games,
energy management, robotics, medical devices and other industry sectors. This course introduces the
concepts of embedded systems and focuses on basics of designing, interfacing, configuring, and
programming embedded systems. Python language, which will be taught in this course, is used by
embedded developers in automating tests and writing frameworks that exchange data over serial port to
communicate with device firmware. This course prepares students for cutting edge careers in both
industry and research sectors.
Topics
An Introduction to Python
Basic Python Syntax
Language Components
Collections
Functions
Modules
Exceptions
Input and Output
Classes in Python
Writing GUIs in Python
Python and CGI Scripts
Network Programming
Embedded System Concepts
Experiments: If applicable, it will support the course topics.
References:
Needham, Timothy C., Python: For Beginners: A Crash Course Guide To Learn Python in 1
Week (coding, programming, web-programming, programmer), 2017.
Detailed of Theoretical Contents
No. Contents Hours
1 An Introduction to Python 3
Introduction
A Brief History of Python
Python Versions
Installing Python
Environment Variables
Executing Python from the Command Line
IDLE
Editing Python Files
Python Documentation
Getting Help
32
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Dynamic Types
Python Reserved Words
Naming Conventions
2 Basic Python Syntax 3
Basic Syntax
Comments
String Values
String Methods
The format Method
String Operators
Numeric Data Types
Conversion Functions
Simple Output
Simple Input
The % Method
The print Function
3 Language Components 2
Indenting Requirements
The if Statement
Relational and Logical Operators
Bit Wise Operators
The while Loop
break and continue
The for Loop
4 Collections 3
Introduction
Lists
Tuples
Sets
Dictionaries
Sorting Dictionaries
Copying Collections
Summary
Threading text
Changing number of columns
Changing text alignment
Character style
Find and Replace and Spell check
Text on a path
5 Functions 3
Introduction
Defining Your Own Functions
Parameters
Function Documentation
Keyword and Optional Parameters
Passing Collections to a Function
Variable Number of Arguments
33
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Scope
Functions -
Passing Functions to a Function
map
filter
Mapping Functions in a Dictionary
Lambda
Inner Functions
Closures
6 Modules 2
Modules
Standard Modules - sys
Standard Modules - math
Standard Modules - time
The dir Function
7 Exceptions 2
Errors
Runtime Errors
The Exception Model
Exception Hierarchy
Handling Multiple Exceptions
raise
assert
8 Input and Output 3
Introduction
Data Streams
Creating Your Own Data Streams
Access Modes
Writing Data to a File
Reading Data from a File
Additional File Methods
Using Pipes as Data Streams
Handling IO Exceptions
Working with Directories
Metadata
The pickle Module
9 Classes in Python 3
Classes in Python
Principles of Object Orientation
Creating Classes
Instance Methods
File Organization
Special Methods
Class Variables
Inheritance
Polymorphism
Type Identification
34
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Custom Exception Classes
Compound path
Slicing a path with scissor
Adding end shape to open path
Creating texture effects
Inline graphics
10 Writing GUIs in Python 2
Introduction
Components and Events
An Example GUI
The Tk Widget
Button Widgets
Entry Widgets
Button Widgets
Entry Widgets
Text Widgets
Checkbutton Widgets
Radiobutton Widgets
Listbox Widgets
Frame Widgets
1 Menu Widgets
Toplevel Widgets
Dialogs
11 Python and CGI Scripts 2
What is CGI
HTML
HTML Forms
A Guestbook Application
What Can Go Wrong!
HTML Tables
The CGI Script
Rendering of the Script
12 Network Programming 2
Networking Fundamentals
The Client/Server Model
The socket Module
A Client Program
A Server Program
Maintaining consistency
Synchronizing book document
Updating table of content
Indexing the book
13 Embedded System Concepts 2
Python SERIAL libraries
Python AUDIO libraries
Python Bluetooth libraries
Python GPIO libraries
35
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Python FIRMATA libraries
Python Camera libraries
Python & Node.JS
Python & MQTT
Needham, Timothy C., Python: For Beginners: A Crash Course Guide To Learn Python in 1
Textbook: Week (coding, programming, web-programming, programmer), 2017.
Detailed of Practical Contents
No. Contents Hours
1 An Introduction to Python 3
Introduction
A Brief History of Python
Python Versions
Installing Python
Environment Variables
Executing Python from the Command Line
IDLE
Editing Python Files
Python Documentation
Getting Help
Dynamic Types
Python Reserved Words
Naming Conventions
2 Basic Python Syntax 3
Basic Syntax
Comments
String Values
String Methods
The format Method
String Operators
Numeric Data Types
Conversion Functions
Simple Output
Simple Input
The % Method
The print Function
3 Language Components 2
Indenting Requirements
The if Statement
Relational and Logical Operators
Bit Wise Operators
The while Loop
break and continue
The for Loop
36
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
4 Collections 3
Introduction
Lists
Tuples
Sets
Dictionaries
Sorting Dictionaries
Copying Collections
Summary
Threading text
Changing number of columns
Changing text alignment
Character style
Find and Replace and Spell check
Text on a path
5 Functions 3
Introduction
Defining Your Own Functions
Parameters
Function Documentation
Keyword and Optional Parameters
Passing Collections to a Function
Variable Number of Arguments
Scope
Functions -
Passing Functions to a Function
map
filter
Mapping Functions in a Dictionary
Lambda
Inner Functions
Closures
6 Modules 2
Modules
Standard Modules - sys
Standard Modules - math
Standard Modules - time
The dir Function
7 Exceptions 2
Errors
Runtime Errors
The Exception Model
Exception Hierarchy
Handling Multiple Exceptions
raise
assert
37
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
8 Input and Output 3
Introduction
Data Streams
Creating Your Own Data Streams
Access Modes
Writing Data to a File
Reading Data from a File
Additional File Methods
Using Pipes as Data Streams
Handling IO Exceptions
Working with Directories
Metadata
The pickle Module
9 Classes in Python 3
Classes in Python
Principles of Object Orientation
Creating Classes
Instance Methods
File Organization
Special Methods
Class Variables
Inheritance
Polymorphism
Type Identification
Custom Exception Classes
Compound path
Slicing a path with scissor
Adding end shape to open path
Creating texture effects
Inline graphics
10 Writing GUIs in Python 2
Introduction
Components and Events
An Example GUI
The Tk Widget
Button Widgets
Entry Widgets
Button Widgets
Entry Widgets
Text Widgets
Checkbutton Widgets
Radiobutton Widgets
Listbox Widgets
Frame Widgets
1 Menu Widgets
Toplevel Widgets
Dialogs
38
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
11 Python and CGI Scripts 2
What is CGI
HTML
HTML Forms
A Guestbook Application
What Can Go Wrong!
HTML Tables
The CGI Script
Rendering of the Script
12 Network Programming 2
Networking Fundamentals
The Client/Server Model
The socket Module
A Client Program
A Server Program
Maintaining consistency
Synchronizing book document
Updating table of content
Indexing the book
13 Embedded System Concepts 2
Python SERIAL libraries
Python AUDIO libraries
Python Bluetooth libraries
Python GPIO libraries
Python FIRMATA libraries
Python Camera libraries
Python & Node.JS
Python & MQTT
Needham, Timothy C., Python: For Beginners: A Crash Course Guide To Learn Python in 1
Textbook: Week (coding, programming, web-programming, programmer), 2017.
39
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Database Management Systems Course Code IPRG 324
Credit Hours 3 CTH 4
Prerequisites CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the concepts and terminologies of modern Data Base Management
Systems (DBMS). The course focuses on the concepts andusing the statements of the
Structured Query Language (SQL) for the development of DBMS and its applications
towards building relational databases. Thecourse also introduces the tools, techniques and
methods for securing and protection the relational databases with the administrative part
of the DBMS. The students will need to practice in the computer labs using SQL
statements and query language to develop and manipulate relational databases using a
DBMS.
Topics :
the Oracle Database Architecture
Installing your Oracle Software
Creating an Oracle Database
Managing the Oracle Database Instance
Manage the ASM Instance
Configuring the Oracle Network Environment
Managing Database Storage Structures
Administering User Security
Implementing Oracle Database Auditing
Database Maintenance
Performance Management
Backup and Recovery Concepts
Experiments: if applicable it will support the course topics
References :
Beginning Oracle Database 11g Administration: From Novice to Professional (Expert's Voice in
Oracle) 1st ed. Edition, ISBN-13: 978-1590599686ISBN-10: 1590599683.
Detailed of Theoretical Contents
No. Contents Hours
1 Exploring the Oracle Database Architecture 2
Oracle Database Architecture Overview
Oracle ASM Architecture Overview
Process Architecture
Memory structrues
Logical and physical storage structures
ASM storage components
2 Installing your Oracle Software 2
Tasks of an Oracle Database Administrator
Tools Used to Administer an Oracle Database
Installation: System Requirements
Oracle Universal Installer (OUI)
40
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Installing Oracle Grid Infrastructure
Installing Oracle Database Software
Silent Install
3 Creating an Oracle Database 3
Planning the Database
Using the DBCA to Create a Database
Password Management
Creating a Database Design Template
Using the DBCA to Delete a Database
4 Managing the Oracle Database Instance 3
Start and stop the Oracle database and components
Use Oracle Enterprise Manager
Access a database with SQLPlus
Modify database installation parameters
Describe the stages of database startup
Describe database shutdown options
View the alert log
Access dynamic performance views
5 Manage the ASM Instance 3
Set up initialization parameter files for ASM instance
Start up and shut down ASM instances
Administer ASM disk groups
6 Configuring the Oracle Network Environment 3
Use Enterprise Manager to create and configure the Listener
Enable Oracle Restart to monitor the listener
Use tnsping to test Oracle Net connectivity
Identify when to use shared servers and when to use dedicated servers
7 Managing Database Storage Structures 3
Storage Structures
How Table Data Is Stored
Anatomy of a Database Block
Space Management in Tablespaces
Tablespaces in the Preconfigured Database
Actions with Tablespaces
Oracle Managed Files (OMF)
8 Administering User Security 3
Database User Accounts
Predefined Administrative Accounts
Benefits of Roles
Predefined Roles
Implementing Profiles
9 Implementing Oracle Database Auditing 2
Describe DBA responsibilities for security
Enable standard database auditing
Specify audit options
Review audit information
Maintain the audit trail
41
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
10 Database Maintenance 2
Manage optimizer statistics
Manage the Automatic Workload Repository (AWR)
Use the Automatic Database Diagnostic Monitor (ADDM)
Describe and use the advisory framework
Set alert thresholds
Use server-generated alerts
Use automated tasks
11 Performance Management 3
Performance Monitoring
Managing Memory Components
Enabling Automatic Memory Management (AMM)
Automatic Shared Memory Advisor
Using Memory Advisors
Dynamic Performance Statistics
Troubleshooting and Tuning Views
Invalid and Unusable Objects
12 Backup and Recovery Concepts 3
Part of Your Job
Statement Failure
User Error
Understanding Instance Recovery
Phases of Instance Recovery
Using the MTTR Advisor
Media Failure
Archive Log Files
Backup Solutions: Overview
Oracle Secure Backup
User-Managed Backup
Terminology
Recovery Manager (RMAN(
Configuring Backup Settings
Backing Up the Control File to a Trace File
Monitoring the Flash Recovery Area
Database Systems: Design, Implementation, & Management, 12th Edition, Carlos
Textbook:
Coronel and Steven Morris, Course Technology, ISBN-13: 978-1305627482.
42
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
1 Exploring the Oracle Database Architecture 2
Oracle Database Architecture Overview
Oracle ASM Architecture Overview
Process Architecture
Memory structrues
Logical and physical storage structures
ASM storage components
2 Installing your Oracle Software 2
Tasks of an Oracle Database Administrator
Tools Used to Administer an Oracle Database
Installation: System Requirements
Oracle Universal Installer (OUI)
Installing Oracle Grid Infrastructure
Installing Oracle Database Software
Silent Install
3 Creating an Oracle Database 3
Planning the Database
Using the DBCA to Create a Database
Password Management
Creating a Database Design Template
Using the DBCA to Delete a Database
4 Managing the Oracle Database Instance 3
Start and stop the Oracle database and components
Use Oracle Enterprise Manager
Access a database with SQLPlus
Modify database installation parameters
Describe the stages of database startup
Describe database shutdown options
View the alert log
Access dynamic performance views
5 Manage the ASM Instance 3
Set up initialization parameter files for ASM instance
Start up and shut down ASM instances
Administer ASM disk groups
6 Configuring the Oracle Network Environment 3
Use Enterprise Manager to create and configure the Listener
Enable Oracle Restart to monitor the listener
Use tnsping to test Oracle Net connectivity
Identify when to use shared servers and when to use dedicated servers
7 Managing Database Storage Structures 3
Storage Structures
How Table Data Is Stored
Anatomy of a Database Block
Space Management in Tablespaces
Tablespaces in the Preconfigured Database
Actions with Tablespaces
Oracle Managed Files (OMF)
8 Administering User Security 3
Database User Accounts
43
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
Predefined Administrative Accounts
Benefits of Roles
Predefined Roles
Implementing Profiles
9 Implementing Oracle Database Auditing 2
Describe DBA responsibilities for security
Enable standard database auditing
Specify audit options
Review audit information
Maintain the audit trail
10 Database Maintenance 2
Manage optimizer statistics
Manage the Automatic Workload Repository (AWR)
Use the Automatic Database Diagnostic Monitor (ADDM)
Describe and use the advisory framework
Set alert thresholds
Use server-generated alerts
Use automated tasks
11 Performance Management 3
Performance Monitoring
Managing Memory Components
Enabling Automatic Memory Management (AMM)
Automatic Shared Memory Advisor
Using Memory Advisors
Dynamic Performance Statistics
Troubleshooting and Tuning Views
Invalid and Unusable Objects
12 Backup and Recovery Concepts 3
Part of Your Job
Statement Failure
User Error
Understanding Instance Recovery
Phases of Instance Recovery
Using the MTTR Advisor
Media Failure
Archive Log Files
Backup Solutions: Overview
Oracle Secure Backup
User-Managed Backup
Terminology
Recovery Manager (RMAN(
Configuring Backup Settings
Backing Up the Control File to a Trace File
Monitoring the Flash Recovery Area
Oracle 12c: SQL, 2015, 3rd Edition, Joan Casteel, Course Technology, ISBN-13: 978-
Textbook:
1305251038
44
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Advanced Smart Devices
Course Name Course Code IPRG 453
Programming -1
Credit Hours 3 CTH 4
Prerequisites IPRG 313 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description:
The widespread of cutting edge smart devices such as smart phones and tablets creates opportunities in
applications development market. This course enhances the programming skills of the students to develop
applications for Apple smart devices such as iPhones and iPads. The course focuses on the latest iOS
application development with Swift which is a new programming language from Apple. This course
follows the application development processes including planning, analysis, design, development &
implementation, testing and maintenance.
Topics
The Architecture of Swift
Functions
Variables and Simple Types
Object Types
Flow Control and More
Anatomy of an Xcode Project
Nib Management
Documentation
Life Cycle of a Project
Cocoa Classes
Cocoa Events
Memory Management
Communication Between Objects
Experiments: If applicable, it will support the course topics.
References:
Neuburg, Matt, iOS 10 Programming Fundamentals with Swift, O'Reilly Media, Inc. 2016.
Detailed of Theoretical Contents
No. Contents Hours
1 The Architecture of Swift 2
Ground of Being
Everything Is an Object?
Three Flavors of Object Type
Variables
Functions
The Structure of a Swift File
Scope and Lifetime
Object Members
Namespaces
Modules
45
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Instances
Why Instances?
Privacy
Design
2 Functions 3
Function Parameters and Return Value
External Parameter Names
Overloading
Default Parameter Values
Variadic Parameters
Ignored Parameters
Modifiable Parameters
Function In Function
Recursion
Function As Value
Anonymous Functions
Define-and-Call
Closures
Curried Functions
Function References and Selectors
3 Variables and Simple Types 2
Variable Scope and Lifetime
Variable Declaration
Computed Initializer
Computed Variables
Setter Observers
Lazy Initialization
Built-In Simple Types
4 Object Types 3
Object Type Declarations and Features
Enums
Structs
Classes
Polymorphism
Casting
Type Reference
Protocols
Generics
Extensions
Umbrella Types
Collection Types
5 Flow Control and More 2
Flow Control
Operators
Privacy
Introspection
Memory Management
46
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
6 Anatomy of an Xcode Project 3
New Project
The Project Window
The Project File and Its Dependents
The Target
From Project to Running App
Renaming Parts of a Project
7 Nib Management 3
The Nib Editor Interface
Nib Loading
Connections
Additional Configuration of Nib-Based Instances
8 Documentation 2
The Documentation Window
Class Documentation Pages
Quick Help
Symbols
Header Files
Sample Code
Internet Resources
9 Life Cycle of a Project 3
Device Architecture and Conditional Code
Version Control
Editing and Navigating Your Code
Running in the Simulator
Debugging
Testing and Clean
Running on a Device
Profiling and Gauges
Localization and Distribution
Final App Preparations
Submission to the App Store
10 Cocoa Classes 3
Subclassing
Categories and Extensions
Protocols
Some Foundation Classes
Accessors, Properties, and Key–Value Coding
The Secret Life of NSObject
11 Cocoa Events 2
Reasons for Events
Subclassing
Notifications
Delegation
Data Sources
Actions
The Responder Chain
47
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Key–Value Observing
Swamped by Events
Delayed Performance
12 Memory Management 2
Principles of Cocoa Memory Management
Rules of Cocoa Memory Management
What ARC Is and What It Does
How Cocoa Objects Manage Memory
Autorelease Pool
Memory Management of Instance Properties
Retain Cycles and Weak References
Unusual Memory Management Situations
Nib Loading and Memory Management
Memory Management of CFTypeRefs
Property Memory Management Policies
Debugging Memory Management Mistakes
13 Communication Between Objects 2
Visibility by Instantiation
Visibility by Relationship
Global Visibility
Notifications and Key–Value Observing
Model–View–Controller
A.C, Objective-C, and Swift
The C Language
Objective-C
Bilingual Targets
Neuburg, Matt, iOS 10 Programming Fundamentals with Swift, O'Reilly Media, Inc.
Textbook:
2016.
Detailed of Practical Contents
No. Contents Hours
1 The Architecture of Swift 2
Ground of Being
Everything Is an Object?
Three Flavors of Object Type
Variables
Functions
The Structure of a Swift File
Scope and Lifetime
Object Members
Namespaces
Modules
Instances
Why Instances?
Privacy and Design
48
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
2 Functions 3
Function Parameters and Return Value
External Parameter Names
Overloading
Default Parameter Values
Variadic Parameters
Ignored Parameters
Modifiable Parameters
Function In Function
Recursion
Function As Value
Anonymous Functions
Define-and-Call
Closures
Curried Functions
Function References and Selectors
3 Variables and Simple Types 2
Variable Scope and Lifetime
Variable Declaration
Computed Initializer
Computed Variables
Setter Observers
Lazy Initialization
Built-In Simple Types
4 Object Types 3
Object Type Declarations and Features
Enums and Structs
Classes
Polymorphism
Casting
Type Reference
Protocols
Generics
Extensions
Umbrella Types
Collection Types
5 Flow Control and More 2
Flow Control
Operators
Privacy
Introspection
Memory Management
6 Anatomy of an Xcode Project 3
New Project
The Project Window
The Project File and Its Dependents
The Target
49
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
From Project to Running App
Renaming Parts of a Project
7 Nib Management 3
The Nib Editor Interface
Nib Loading
Connections
Additional Configuration of Nib-Based Instances
8 Documentation 2
The Documentation Window
Class Documentation Pages
Quick Help
Symbols
Header Files
Sample Code
Internet Resources
9 Life Cycle of a Project 3
Device Architecture and Conditional Code
Version Control
Editing and Navigating Your Code
Running in the Simulator
Debugging, Testing and Clean
Running on a Device
Profiling and Gauges
Localization and Distribution
Final App Preparations
Submission to the App Store
10 Cocoa Classes 3
Subclassing
Categories and Extensions
Protocols
Some Foundation Classes
Accessors, Properties, and Key–Value Coding
The Secret Life of NSObject
11 Cocoa Events 2
Reasons for Events
Subclassing
Notifications
Delegation
Data Sources
Actions
The Responder Chain
Key–Value Observing
Swamped by Events
Delayed Performance
12 Memory Management 2
Principles of Cocoa Memory Management
Rules of Cocoa Memory Management
50
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
What ARC Is and What It Does
How Cocoa Objects Manage Memory
Autorelease Pool
Memory Management of Instance Properties
Retain Cycles and Weak References
Unusual Memory Management Situations
Nib Loading and Memory Management
Memory Management of CFTypeRefs
Property Memory Management Policies
Debugging Memory Management Mistakes
13 Communication Between Objects 2
Visibility by Instantiation
Visibility by Relationship
Global Visibility
Notifications and Key–Value Observing
Model–View–Controller
A.C, Objective-C, and Swift
The C Language
Objective-C
Bilingual Targets
Neuburg, Matt, iOS 10 Programming Fundamentals with Swift, O'Reilly Media, Inc.
Textbook:
2016.
51
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name User Interface Design Course Code IPRG 461
Credit Hours 3 CTH 4
Prerequisites IPRG 443 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description:
This course introduces advance features in user interface design by studying both theoretical and practical
issues in human-computer interfaces. These include development awareness of various approaches to the
design of contemporary user interfaces, and to identify key principles by which effective contemporary
user interfaces are designed. The course also addresses various interface issues that are applicable to
interactive systems such as user-centered interaction thinking and methods of usability testing since there
is a need to develop current and next-generation interactive technologies.
Topics
Characteristics of good design
Methodology
Testing & Evaluation
Contemporary Interactive Technologies
Application Domains
User Centered Design
Technological constraints
Components of Design
Experiments: If applicable, it will support the course topics.
References:
David Benyon, Designing Interactive Systems: A comprehensive guide to HCI, UX and
interaction design, Pearson, 2013.
Interaction Design Foundation https://www.interaction-design.org/literature.
Jenny Preece, Helen Sharp, Yvonne Rogers, Interaction Design: Beyond Human-Computer
Interaction, 4th Edition, John Wiley & Sons, 2015.
Detailed of Theoretical Contents
No. Contents Hours
1 Characteristics of Good Design 4
Learnability, robustness, flexibility, usability, performance and
accessibility
2 Methodologies 4
Prototyping, ethnocentric approach and participative design.
3 Testing & Evaluation 4
The use of focus groups, task-based testing, surveys, interviews,
observations and walkthroughs.
4 Contemporary Interactive Technologies 4
Mobile computing, PDAs, screen readers, voice recognition, touch
screens and game peripherals (joysticks, light guns etc.).
52
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
5 Application Domains 4
Ecommerce, edutainment, iTV, entertainment, informational, safety
critical systems, games and online communities.
6 User Centered Design 4
Target users, user modeling, user scenarios, localization and
globalization.
7 Technological Constraints 4
Screen resolution and design for printing.
8 Components of Design 4
Metaphors, icons, typography, color, contrast and juxtaposition,
storyboards and mood boards.
F.E. Ritter, G.D. Baxter, and E.F. Churchill Foundations for Designing
User−Centered Systems: What System Designers need to know about People,
Springer, 2014.
Textbook:
Jenny Preece, Helen Sharp, Yvonne Rogers, Interaction Design: Beyond
Human-Computer Interaction, 4th Edition, John Wiley & Sons, 2015.
Detailed of Practical Contents
No. Contents Hours
1 Characteristics of Good Design 6
Learnability, robustness, flexibility, usability, performance and
accessibility
2 Testing & Evaluation 6
The use of focus groups, task-based testing, surveys, interviews,
observations and walkthroughs.
3 Contemporary Interactive Technologies 6
Mobile computing, PDAs, screen readers, voice recognition, touch
screens and game peripherals (joysticks, light guns etc.).
4 Application Domains 4
Ecommerce, edutainment, iTV, entertainment, informational, safety
critical systems, games and online communities.
5 Technological Constraints 4
Screen resolution and design for printing.
6 Components of Design 6
Metaphors, icons, typography, color, contrast and juxtaposition,
storyboards and mood boards.
F.E. Ritter, G.D. Baxter, and E.F. Churchill Foundations for Designing
User−Centered Systems: What System Designers need to know about People,
Textbook: Springer, 2014.
Jenny Preece, Helen Sharp, Yvonne Rogers, Interaction Design: Beyond
Human-Computer Interaction, 4th Edition, John Wiley & Sons, 2015.
53
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Enterprise Resources Planning
Course Name Course Code IPRG 478
Systems - ERP
Credit Hours 3 CTH 4
Prerequisites UACC 301 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the Enterprise Resources Planning (ERP) systems and the computing paradigms
considered by organizations. The focus will be on how enterprise resources planning and information
systems with their core modules support accounting, financial, human resources and manufacturing
business functions and operations, theoretically and practically. Topics will also include ERP planning,
package selection, acquisition, development, integration with business processes and other systems,
deployment, and implementation. Technical architecture, security issues related to ERP system and the
application of analytical thinking and business knowledge for problem solving and decision making are
also included in this course.
Topics :
ERP Concepts and Technology
ERP and Business Process Redesign and Mapping
ERP Life Cycle and Implementation
ERP for Financial Management, Sales and CRM
ERP Supply Chain Management, Accounting, Finance and HR
Experiments: if applicable it will support the course topics
References :
Modern ERP: Select, Implement, and Use Today's Advanced Business Systems, 3rd Edition,
2015, Marianne Bradford , Lulu, ISBN-13: 978-1312665989
Concepts in Enterprise Resource Planning, 4th Edition, 2014, Ellen Monk and Bret Wagner,
Course Technology; ISBN: 3: 978-1-111-82039-8, ISBN-13: 978-1-111-82040-4
Detailed of Theoretical Contents
No. Contents Hours
1 Introduction to ERP Systems 3
ERP Essentials
The need for ERP
Advantages and Disadvantages
ERP Evolution
ERP Market
2 ERP Technology 3
Relational Database Management Systems
Database Normalization
Structured Query Language (SQL)
ERP Data
Configuration and Customization
System Landscape
ERP and Cloud Computing
54
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
3 ERP and Business Process Redesign and Mapping 4
Business Processes
Problems with Business Processes
Business Process Reengineering
Factors for Reengineering Success
Business Process Improvement
Business Process Improvement Model
Processes in Need of Change
Systems Diagrams
The Process Map and Steps for Drawing Maps
Gathering Information for the Process Map
Process Mapping Roles
4 ERP Life Cycle 4
Planning
Package Selection
Implementation
Operation
Maintenance
5 ERP Financial Management 4
Financial Accounting
Management Accounting
Asset Management
Travel and Expense Management
6 ERP Sales and Customer Relationship Management 5
Sales Process
Point of Sale (POS) Systems
Customer Relationship Management
CRM Functionality
CRM Interaction Channels
Social CRM
Elements for CRM Success
CRM Metrics
CRM Analytics
Knowledge Management
CRM and Knowledge Management
Implementing a Knowledge Management System
7 ERP Supply Chain Management 5
The Concept of Supply Chain Management
Purchasing and Sourcing
Supplier Relationship Management
Warehouse Management System
Transportation Management System
Manufacturing
Quality Assurance
Plant Maintenance
Environment, Health, and Safety
Supply Chain Technology
55
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
8 ERP HR Management and ERP Security 4
Human Capital
Employee Self-Service
Outsourcing Human Capital Management Functions
Internal Control
ERP and Internal Controls
IT Application Controls
IT General Controls
Logical Access Controls
System Implementation Assurance
Modern ERP: Select, Implement, and Use Today's Advanced Business Systems, 3rd Edition,
Textbook: 2015, Marianne Bradford , Lulu, ISBN-13: 978-1312665989
Detailed of Practical Contents
No. Contents Hours
1 Business Functions and Processes 4
Functional Areas and Business Processes
Functional Areas of Operation
Marketing and Sales
Supply Chain Management
Accounting and Finance
Human Resources
Functional Area Information Systems
2 The Development of ERP 4
Computer Hardware and Software Development
Early Attempts to Share Resources
The Manufacturing Roots of ERP
ERP Software Emerges: SAP and R/3
SAP Begins Developing Software Modules
PeopleSoft
Oracle
SAP ERP
SAP ERP Software Implementation
3 Marketing Information Systems and the Sales Order Process 5
Sales Process
Sales Quotations and Orders
Order Filling
Accounting and Invoicing
Payment and Returns
Sales and Distribution in ERP
Presales Activities
Sales Order Processing
Inventory Sourcing
Delivery
Billing
Payment
56
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
A Standard Order in SAP ERP
Taking an Order in SAP ERP
Discount Pricing in SAP ERP
Integration of Sales and Accounting
Customer Relationship Management (CRM)
Core CRM Activities
SAP’s CRM Software
4 Production and Supply Chain Management Information Systems 5
The Production Planning Process
The SAP ERP Approach to Production Planning
Sales Forecasting
Sales and Operations Planning
Sales and Operations Planning in SAP ERP
Disaggregating the Sales and Operations Plan in SAP ERP
Demand Management
Materials Requirements Planning (MRP)
Bill of Material
Lead Times and Lot Sizing
5 Finance and Accounting in ERP Systems 6
Accounting Activities
Using ERP for Accounting Information
Operational Decision-Making Problem: Credit Management
Industrial Credit Management
Fitter’s Credit Management Procedures
Credit Management in SAP ERP
Product Profitability Analysis
Inconsistent Record Keeping
Inaccurate Inventory Costing Systems
Inventory Cost Accounting Background
ERP and Inventory Cost Accounting
Product Costing Example
Product Cost Analysis in SAP ERP
Activity-Based Costing and ERP
Management Reporting with ERP Systems
6 Human Resources Processes with ERP 6
Recruiting Process
The Interviewing and Hiring Process
Human Resources Duties After Hiring
Human Resources with ERP Software
Advanced SAP ERP Human Resources Features
Time Management
Payroll Processing
Travel Management
Training and Development Coordination
Additional Human Resources Features of SAP ERP
Mobile Time Management
Management of Family and Medical Leave
57
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
Management of Domestic Partner Benefits
Administration of Long-Term Incentives
Personnel Cost Planning
Management and Payroll for Global Employees
Concepts in Enterprise Resource Planning, 4th Edition, 2014, Ellen Monk and Bret Wagner,
Textbook: Course Technology; ISBN: 3: 978-1-111-82039-8, ISBN-13: 978-1-111-82040-4
58
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Advanced Smart Devices
Course Name Course Code IPRG 454
Programming -2
Credit Hours 3 CTH 4
Prerequisites IPRG 453 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description:
This course will be a complementary of Advanced Smart Devices Programming I course as it focuses on
the hybrid application development for both android and iOS smart devices. The course is aimed to enable
students to ensure that their applications are secure, scalable and high performing in various platforms.
Ionic, which was built on top of AngularJS and Apache Cordova, will be taught in this course as it offered
a complete solution for hybrid application development for smart devices. It is using Web technologies
such as CSS, HTML5, and Sass. Thus, this course provides students with rich practical knowledge on
hybrid application development for cross-platform smart devices.
Topics
Ionic – Powered by AngularJS
Welcome to Ionic
Ionic CSS Components and Navigation
Ionic and SCSS
Ionic Directives and Services
Building a Bookstore App
Cordova and ngCordova
Building a Messaging App
Releasing the Ionic App
Experiments: If applicable, it will support the course topics.
References:
Ravulavaru, Arvind, Learning Ionic: Build real-time and hybrid mobile applications with ionic,
Packt Publishing, 2015.
Detailed of Theoretical Contents
No. Contents Hours
1 Ionic – Powered by AngularJS 4
Understanding the separation of concerns
AngularJS components
AngularJS directives
AngularJS services
AngularJS resources
2 Welcome to Ionic 4
Mobile Hybrid Architecture
What is Apache Cordova?
What is Ionic?
Software setup
The platform guide
Hello Ionic
59
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
The browser developer tools setup
The Ionic project structure
Scaffolding the tabs template
Scaffolding the side menu template
generator-ionic
3 Ionic CSS Components and Navigation 2
Ionic CSS components
The Ionic router
4 Ionic and SCSS 4
What is Sass?
Setting up SCSS in our Ionic project
Working with Ionic SCSS
Understanding the Ionic SCSS setup
The SCSS workflow 105
Building a swatch 106
5 Ionic Directives and Services 4
Ionic directives and services
The Ionic Platform service
Content
Ionic loading
The ion-list and ion-item directives
Gesture directives and services
6 Building a Bookstore App 4
An introduction to the Bookstore application
The Bookstore architecture
Setting up the server
Building the application
Step 1 – Scaffolding the side menu template
Step 2 – Refactoring the template
Step 3 – Building authentication, localStorage, and the REST API
factory
Step 4 – Creating controllers for each route and integrating with the
factory
Step 5 – Creating templates and integrating with the controller data
7 Cordova and ngCordova 4
Setting up a platform-specific SDK
Testing the setup
Getting started with Cordova plugins
The Ionic plugin API
The Cordova whitelist plugin
ngCordova
8 Building a Messaging App 3
The Ionic Chat app
The application architecture
Developing the application
Testing the application
60
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
9 Releasing the Ionic App 3
Preparing the app for distribution
The PhoneGap service
Generating installers using the Cordova CLI
The Ionic package
Ravulavaru, Arvind, Learning Ionic: Build real-time and hybrid mobile applications
Textbook:
with ionic, Packt Publishing, 2015.
Detailed of Practical Contents
No. Contents Hours
1 Ionic – Powered by AngularJS 4
Understanding the separation of concerns
AngularJS components
AngularJS directives
AngularJS services
AngularJS resources
2 Welcome to Ionic 4
Mobile Hybrid Architecture
What is Apache Cordova?
What is Ionic?
Software setup
The platform guide
Hello Ionic
The browser developer tools setup
The Ionic project structure
Scaffolding the tabs template
Scaffolding the side menu template
generator-ionic
3 Ionic CSS Components and Navigation 2
Ionic CSS components
The Ionic router
4 Ionic and SCSS 4
What is Sass?
Setting up SCSS in our Ionic project
Working with Ionic SCSS
Understanding the Ionic SCSS setup
The SCSS workflow 105
Building a swatch 106
5 Ionic Directives and Services 4
Ionic directives and services
The Ionic Platform service
Content
Ionic loading
The ion-list and ion-item directives
Gesture directives and services
61
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
6 Building a Bookstore App 4
An introduction to the Bookstore application
The Bookstore architecture
Setting up the server
Building the application
Step 1 – Scaffolding the side menu template
Step 2 – Refactoring the template
Step 3 – Building authentication, localStorage, and the REST API
factory
Step 4 – Creating controllers for each route and integrating with the
factory
Step 5 – Creating templates and integrating with the controller data
7 Cordova and ngCordova 4
Setting up a platform-specific SDK
Testing the setup
Getting started with Cordova plugins
The Ionic plugin API
The Cordova whitelist plugin
ngCordova
8 Building a Messaging App 3
The Ionic Chat app
The application architecture
Developing the application
Testing the application
9 Releasing the Ionic App 3
Preparing the app for distribution
The PhoneGap service
Generating installers using the Cordova CLI
The Ionic package
Ravulavaru, Arvind, Learning Ionic: Build real-time and hybrid mobile applications
Textbook:
with ionic, Packt Publishing, 2015.
62
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Software Security Course Code IPRG 474
Credit Hours 3 CTH 4
Prerequisites IPRG 324 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the intersection of computer security and software engineering. The course
provides students with practical experience on building a software system, and on security as part of
software engineering process. Topics include computer security, software and devices security, operating
systems security, and security for networks and databases. Further, due to the rapidly evolving threats,
attacks, risks and countermeasures in computing environments, this course provides best practices to
prevent malicious code execution, authenticate users, use encryption, protect privacy, and implement
firewalls; ultimately, to build software systems throughout a secure lifecycles of system development and
acquisition.
Topics :
Computer Security and Software Engineering
Authentication, Access Control, and Cryptography
Programs and Programming
The Web Security and User Side
Networks, Databases and Cloud Computing Security
Operating Systems Security, and Legal Issues and Ethics
Experiments: if applicable it will support the course topics
References :
Security in Computing (5th Edition), 2015, Charles P. Pfleeger and Shari Lawrence Pfleeger
and Jonathan Margulies, Prentice Hall, ISBN-13: 978-0134085043
Cyber Security Engineering: A Practical Approach for Systems and Software Assurance,
October 2016, 1st Edition, Carol C. Woody and Nancy R. Mead, Addison-Wesley Professional,
ISBN-13: 978-0134189802.
Detailed of Theoretical Contents
No. Contents Hours
1 Introduction to Computer Security 4
Information and Organization Assets
Threats and Threats Types
Control Paradigm
Risks and Availability
Risks Assessment
Attacks and Types of Attackers
Controls and Types of Controls
2 Authentication, Access Control, and Cryptography 4
Authentication
Access Control
Access Policies and Lists
Cryptography
Symmetric Cryptography
Asymmetric Cryptography
63
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
Error Detecting Codes
Trust and Certification
3 Programs and Programming 4
Unintentional and No-malicious Programming
Buffer Overflow
Time-of-Check to Time-of-Use
Off-by-One Error
Integer Overflow
Un-terminated Null-Terminated String
Parameter Length, Type, and Number
Malicious Code—Malware
Viruses, Trojan Horses, and Worms
Countermeasures
4 The Web Security and User Side 4
Browser Attacks
Web Attacks Targeting Users
Malicious Web Content
Obtaining User or Website Data
Code Within Data
Email Attacks
Spamming, Phishing, other Email Attacks
5 Operating Systems Security 4
Security in Operating Systems
Operating System Structure
Security Features of Ordinary Operating Systems
Operating System Tools to Implement Security Functions
Security in the Design of Operating Systems
Simplicity, Kernelized and Layered Design
Correctness and Completeness
Trusted Systems and their Functions
Root-kit and their Types
6 Networks Security 4
Protocol Layers
Addressing and Routing
Network Security Attacks
Threats to Network Communications
Interception, Modification, Fabrication and Interruption
Port Scanning
Wireless Network Security
Vulnerabilities in Wireless Networks
Denial of Service (DOS) and Distributed DOS
DNS Attacks and Vulnerabilities
Bots and Botnet
Strategic Defenses: Security Countermeasures
Cryptography in Network Security
Firewalls and Networks
Intrusion Detection and Prevention Systems
64
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
7 Databases and Cloud Computing Security 4
Security Requirements of Databases
Databases Reliability and Integrity
Database Disclosure
Cloud Computing Risk Analysis
Cloud as a Security Control
Cloud Security Tools and Techniques
Cloud Identity Management
Securing IaaS
8 Legal Issues and Ethics 4
Protecting Programs and Data
Information and the Law
Rights of Employees and Employers
Computer Crime
Ethical Issues in Computer Security
Incident Analysis with Ethics
Cyber Warfare
Security in Computing (5th Edition), 2015, Charles P. Pfleeger and Shari Lawrence
Textbook:
Pfleeger and Jonathan Margulies, Prentice Hall, ISBN-13: 978-0134085043
Detailed of Practical Contents
No. Contents Hours
1 Cyber Security Engineering 6
Lifecycle Assurance of Systems and Software
Principles for Software Assurance
Case Study: Wireless Emergency Alerts
Case Study: Fly-By-Night Airlines
Case Study: GoFast Automotive Corporation
2 Risk Analysis and Management 6
Risk Management Concepts
Risk Mission and Objective
Security Risk Analysis
Operational Risk Analysis
3 Secure Software Development Management and Organizational Models 6
The Management of Assured Systems
Process Models for Software Development and Acquisition
Software Security Frameworks, Models, and Roadmaps
Assurance Maturity Model (SAMM)
Engineering Process Area
Using Software Security Frameworks, Models, and Roadmaps
4 Engineering Competencies 6
Security Competency and the Software Engineering
Software Assurance Competency Models
The SEI Software Assurance Competency Model
Models in Practice
65
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
5 Performing Gap Analysis 4
Using the SEI’s SwA Competency Model
Using the BSIMM
BSIMM Sample Report
6 Cyber Security Engineering 4
Metrics for Cyber Security Engineering
Models for Measurement
Cyber Security Evaluation
Process Evidence
Measurement Management
Cyber Security Engineering: A Practical Approach for Systems and Software
Textbook: Assurance, October 2016, 1st Edition, Carol C. Woody and Nancy R. Mead, Addison-
Wesley Professional, ISBN-13: 978-0134189802.
66
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Graduation Project Course Code IPRG 492
Credit Hours 4 CTH 6
Prerequisites IPRG 453 and IPRG 472 CRH L 2 P 4 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the students to a comprehensive experience for the development of computer
software or hardware system. The project duration is one semester dedicated to finish the entire stages:
investigation, analysis, design, implementation, testing and changes. The students may work in small
groups or teams, and will be introduced to project management principles and practices. Students then
are to apply their technical skills in a major area of technologiesto develop software, hardware or on both
to solve practical application or business problem. This may include database, networking, security, smart
technologies, or any other ICT area of work.
Topics :
Investigate business needs and project scope
Project Time, Cost and Quality Management
Project planning and management
System analysis and design
System implementation
System maintenance and changes
Experiments:
References :
Information Technology Project Management: Providing Measurable Organizational Value,
5th Edition, 2015, Jack T. Marchewka, Wiley, ISBN-13: 978-1118911013.
Detailed of Theoretical Contents
No. Contents Hours
1 Introduction to Project Management 5
Project Strategy and Organizations
Project Scope and Selection
Project Time, Cost and Quality Management
2 Project Human Resource 5
Groups and Teams Management
Communications Management
Tasks distribution and management
3 Project Investigation Phase 4
Business Problems Definition and Description
System Objectives, services and beneficiaries
Constraints/Challenges and solutions (SWOT)
Initial Economic/Financial Feasibility Analysis
Initial Technical Feasibility Analysis
4 Project Analysis Phase 4
Current Systems Assessment
Functional and Non-Functional Requirements
67
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
System Direct/Indirect, Tangible/Intangible Expectations
System, User, Organizational and other Requirements
System Evolution, Expansion and Documentation
5 Project Design Phase 4
Entity Relationship Diagrams
System Architecture and Design
System Conceptual Model
System Processes Model
Database Architecture
Data Dictionary Model
6 Project Implementation Phase 5
Programming Languages selection
Programming Teams
Programming development and coding
Database SQL Programming
User Interface Programming
System Processes Programming
Source Code documentation
7 Project Maintenance Phase 5
Software Testing
System Changes
System deployment
System documentation
System presentation
Information Technology Project Management: Providing Measurable Organizational
Textbook:
Value, 5th Edition, 2015, Jack T. Marchewka, Wiley, ISBN-13: 978-1118911013.
Detailed of Practical Contents
No. Contents Hours
1 The lecturer will supervise the students on the their projects to achieve the tasks as in 10
the theoretical part as above
2 The lecturer will supervise the students on the their projects to achieve the tasks as in 10
the theoretical part as above
3 The lecturer will supervise the students on the their projects to achieve the tasks as in 10
the theoretical part as above
4 The lecturer will supervise the students on the their projects to achieve the tasks as in 10
the theoretical part as above
5 The lecturer will supervise the students on the their projects to achieve the tasks as in 10
the theoretical part as above
6 The lecturer will supervise the students on the their projects to achieve the tasks as in 14
the theoretical part as above
68
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
Information Technology Project Management: Providing Measurable Organizational
Textbook:
Value, 5th Edition, 2015, Jack T. Marchewka, Wiley, ISBN-13: 978-1118911013.
69
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Selected Topics Course Code IPRG 484
Credit Hours 3 CTH 4
Prerequisites CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course Description:
This course introduces the new trends, research, technological, software engineering and
programming approaches in the field of computer programming and technologies with their applications
in the marketplace. The focus will be on the latest and emerging trends such as distributed systems and
databases, electronic governments, Internet banking, smart technologies, smart government, and so on.
Special attention is also given to the latest analytical tools and applications including cloud computing,
big data, business intelligence, cyber-security, etc. the lecturer is to update these topics as they appear in
the domain of information and communication technologies.
Topics :
E-Government and E-Banging
Grid and Cloud Computing
Big Data Analyticsj
Bioinformatics and Medical Informatics
Data Mining and Machine Learning
Data Warehousing and Business Intelligence
Smart Technologies and Social Networking
Experiments: if applicable it will support the course topics
References :
The Lecturer may choose latest Textbook in the area of interest, otherwise, a selected set of
lately published articles by scholar
70
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Software Testing and Quality
Course Name Course Code IPRG 483
Assurance
Credit Hours 3 CTH 4
Prerequisites IPRG 443 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course Description:
This course introduces the fundamentals, strategies and techniques for ensuring the quality of software
systems through the entire development and implementation processes. The course provides students
with hands-on and practical strategies and experiences on testing software systems and the technologies
used in this field. Topics include software bugs and software faults, Model-Driven test design, Test
Automation and Execution, Criteria-Based Test Design, Testing Coverage Criteria such as Graph, Logic
and Syntax-Based Testing, assessing, managing and reporting the software defectives, and managing,
planning and implementing the software testing process and project.
Topics :
Software Testing and Quality Assurance Fundamentals
Model-Driven Test Design
Test Automation and Executions
Input Space Partitioning
Graph Coverage Testing
Logic Coverage Testing
Syntax-Based Testing
Managing and Reporting the Test Process
Experiments: if applicable it will support the course topics
References :
Introduction to Software Testing (2nd Edition), 2016, Paul Ammann , Jeff Offutt, Cambridge
University Press, ISBN: 978-1-107-17201-2.
Detailed of Theoretical Contents
No. Contents Hours
1 Software Testing and Quality Assurance Fundamentals 4
The Concept of Testing Software
The Concept of Quality Assurance
Software Bugs, Faults and Defectives
Methods and Strategies of Software Testing
Difficulties and Limitations of Software Testing
2 Model-Driven Test Design 4
Software Testing Foundations
Software Testing Activities
Testing Levels Based on Software Activity
Coverage Criteria
Model-Driven Test Design
Test Design and Evaluation
71
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
3 Test Automation and Executions 4
Software Testability
Components of a Test Case
Test Automation Framework
Data-Driven Tests
Unit Test Framework
Unit from the Command Line
4 Input Space Partitioning 4
Coverage Criteria Defined
Input Domain Modeling
Combination Strategies Criteria
Handling Constraints Among Characteristics
Deriving an IDM from JavaDoc
5 Graph Coverage Testing 4
Graph Coverage Criteria
Structural Coverage Criteria
Touring, Side-trips, and Detours
Data Flow Criteria
Graph Coverage for Source Code
Graph Coverage for Design Elements
Graph Coverage for Specifications
Graph Coverage for Use Cases
6 Logic Coverage Testing 4
Active Semantic Logic Coverage Criteria
DFN Syntactic Logic Coverage Criteria
Structural Logic Coverage of Programs
Specification-Based Logic Coverage
Logic Coverage of Finite State Machines
7 Syntax-Based Testing 4
Syntax-Based Coverage Criteria
Program-Based Grammars
Integration and Object-Oriented Testing
Specification-Based Grammars
Input Space Grammars
8 Managing and Reporting the Test Process 4
Managing the Test Process
Testing Through SDLC
Writing Test Plans
Test Implementation
Integration Order
Introduction to Software Testing (2nd Edition), 2016, Paul Ammann , Jeff Offutt,
Textbook:
Cambridge University Press, ISBN: 978-1-107-17201-2.
72
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
1 Software Testing Fundamentals 6
Software Correctness and Assurance
Case Study: Software Quality – Test Oracle
Case Study: Test-driven development (TDD)
2 Input Space Partitioning 5
Case Study: Input Domain Modeling
Case Study: Combination Strategies Criteria
Case Study: Handling Constraints Among Characteristics
Case Study: Deriving an IDM from JavaDoc
3 Graph Coverage Testing 5
Case Study: Structural Test
Case Study: Data Flow Test
Case Study: Graph Coverage for Source Code Test
Case Study: Graph Coverage for Specifications Test
Case Study: Graph Coverage for Use Cases Test
4 Logic Coverage Testing 5
Case Study: Active Semantic Logic Coverage Test
Case Study: DFN Syntactic Logic Coverage Test
Case Study: Structural Logic Test
Case Study: Specification-Based Test
5 Syntax-Based Testing 5
Case Study: Syntax-Based Test
Case Study: Program-Based Grammars Test
Case Study: Object-Oriented Test
Case Study: Specification-Based Grammars Test
Case Study: Input Space Grammars Test
6 Managing and Reporting the Test Process 6
Plan Development for the Test Process
Testing Plan through the SDLC
Case Study: Writing Test Plans
Case Study: Test Implementation
Introduction to Software Testing (2nd Edition), 2016, Paul Ammann , Jeff Offutt,
Textbook:
Cambridge University Press, ISBN: 978-1-107-17201-2.
73
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Data Mining Course Code IPRG 477
Credit Hours 3 CTH 4
Prerequisites IPRG 324 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course Description:
This course offers an introduction to data mining concepts and techniques. The goal is for the students
to have a solid foundation in data mining that allows them to apply data mining techniques to real-world
problems and to conduct research and development in new data mining methods. Topics include data
mining algorithms and methods, association analysis, classification, data visualization, prediction
techniques and data clustering analysis.
Topics :
Data warehousing
Data Mining concepts and techniques
Data Mining algorithms
Experiments: If applicable:
Weka: Data Mining System with Free Open Source Machine Learning Software in Java.
Available at http://www.cs.waikato.ac.nz/~ml/weka/index.html
References :
Detailed of Theoretical Contents
No. Contents Hours
1 Introduction to Data Warehouse 4
Data Warehouse and DBMS
Multidimensional data model
OLAP operations
2 Introduction to Data Mining 4
What is data mining?
Related technologies - Machine Learning, DBMS, OLAP, Statistics
Data Mining Goals
Stages of the Data Mining Process
Data Mining Techniques
Knowledge Representation Methods
Applications
3 Data preprocessing 4
Data cleaning
Data transformation
Data reduction
Discretization and generating concept hierarchies
4 Data mining knowledge representation 4
Task relevant data
Background knowledge
Interestingness measures
Representing input data and output knowledge
Visualization techniques
74
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
5 Data mining algorithms: Association rules 4
Motivation and terminology
Basic idea: item sets
Generating item sets and rules efficiently
Correlation analysis
6 Data mining algorithms: Classification 4
Basic learning/mining tasks
Inferring rudimentary rules
Decision trees
Covering rules
7 Data mining algorithms: Prediction 4
The prediction task
Statistical (Bayesian) classification
Bayesian networks
Instance-based methods (nearest neighbor)
Linear models
8 Data mining algorithms: Clustering 4
Basic issues in clustering
First conceptual clustering system: Cluster/2
Partitioning methods: k-means, expectation maximization (EM)
Conceptual clustering
"DATAWAREHOUSING FUNDAMENTALS: A COMPREHENSIVE GUIDE
FOR IT PROFESSIONALS", by Paulraj Ponniah, Latest Edition.
Textbook:
"DATAMINING: CONCEPTS AND TECHNIQUES", The Morgan Kaufmann
Series in Data Management Systems, by Jiawei Han, and Micheline Kamber, The
Latest Edition.
Detailed of Practical Contents
No. Contents Hours
1 Introduction to Data Warehouse 4
Data Warehouse and DBMS
Multidimensional data model
OLAP operations
2 Introduction to Data Mining 4
What is data mining?
Related technologies - Machine Learning, DBMS, OLAP, Statistics
Data Mining Goals
Stages of the Data Mining Process
Data Mining Techniques
Knowledge Representation Methods
Applications
3 Data preprocessing 4
Data cleaning
Data transformation
Data reduction
Discretization and generating concept hierarchies
75
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
4 Data mining knowledge representation 4
Task relevant data
Background knowledge
Interestingness measures
Representing input data and output knowledge
Visualization techniques
5 Data mining algorithms: Association rules 4
Motivation and terminology
Basic idea: item sets
Generating item sets and rules efficiently
Correlation analysis
6 Data mining algorithms: Classification 4
Basic learning/mining tasks
Inferring rudimentary rules
Decision trees
Covering rules
7 Data mining algorithms: Prediction 4
The prediction task
Statistical (Bayesian) classification
Bayesian networks
Instance-based methods (nearest neighbor)
Linear models
8 Data mining algorithms: Clustering 4
Basic issues in clustering
First conceptual clustering system: Cluster/2
Partitioning methods: k-means, expectation maximization (EM)
Conceptual clustering
"DATAWAREHOUSING FUNDAMENTALS: A COMPREHENSIVE GUIDE
FOR IT PROFESSIONALS", by Paulraj Ponniah, Latest Edition.
Textbook:
"DATAMINING: CONCEPTS AND TECHNIQUES", The Morgan Kaufmann
Series in Data Management Systems, by Jiawei Han, and Micheline Kamber, The
Latest Edition.
76
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Big Data Analytics Course Code IPRG 476
Credit Hours 3 CTH 4
Prerequisites IPRG 324 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the fundamental concepts, technologies, and innovative applications of Big Data
systems with focus on distributed systems, distributed file systems, virtualization technologies,
programming models, resource management, and analytics techniques that are needed for developing
scalable and efficient next-generation applications for processing Big Data. Topics will also include
bridging the gap between analytics and data driven technologies, and performance evaluation and
benchmarking. Hands-on practice with Hadoop, MapReduce platforms and big data databases
like SQL and noSQL will be key components of this course.
Topics :
Understanding Big Data
Business Intelligence
Big Data Storage Concepts and Technology
NoSQL Databases
Big Data Processing
Big Data Analysis Techniques
Hadoop
Experiments: if applicable it will support the course topics
References :
Big Data Fundamentals: Concepts, Drivers & Techniques, 1st Edition, 2016, Paul Buhler,
Wajid Khattak and Thomas Erl, Prentice Hall, ISBN: 9780134291185.
NoSQL: Database for Storage and Retrieval of Data in Cloud, 1st Edition, Kindle Edition, 2017,
by Ganesh Chandra Deka, Chapman and Hall/CRC, ISBN 9781498784368.
Detailed of Theoretical Contents
No. Contents Hours
1 Understanding Big Data and Business Intelligence 8
Concepts and Terminology
Big Data Characteristics
Different Types of Data
Big Data Analytics Lifecycle
Online Transaction Processing (OLTP)
Online Analytical Processing (OLAP)
Extract Transform Load (ETL)
Data Warehouses
Data Marts
Traditional BI
Big Data BI
77
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
2 Big Data Storage Concepts and Technology 8
Clusters
File Systems and Distributed File Systems
NoSQL
Sharding
Replication
CAP Theorem
On-Disk Storage Devices
NoSQL Databases
In-Memory Storage Devices
3 Big Data Processing Concepts 8
Parallel Data Processing
Distributed Data Processing
Hadoop
Processing Workloads
Processing in Batch Mode
Processing in Realtime Mode
4 Big Data Analysis Techniques 8
Quantitative Analysis
Qualitative Analysis
Data Mining
Statistical Analysis
Machine Learning
Semantic Analysis
Visual Analysis
Big Data Fundamentals: Concepts, Drivers & Techniques, 1st Edition, 2016,
Textbook: Paul Buhler, Wajid Khattak and Thomas Erl, Prentice Hall, ISBN:
9780134291185.
Detailed of Practical Contents
No. Contents Hours
1 Big Data Analytics Lifecycle 6
Data Identification and Acquisition
Data Filtering and Extraction
Data Validation and Cleansing
Data Aggregation and Representation
Data Analysis and Data Visualization
Utilization of Analysis Results
2 Big Data Analysis Techniques 6
Correlation
Regression
Time Series Plot
Clustering and Classification
Data Migration Techniques from SQL to NoSQL
NoSQL and Cloud Paradigm
NoSQL for Handling Big and Complex Data
78
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Practical Contents
No. Contents Hours
3 Hadoop 6
Applications of Hadoop Ecosystems Tools
Hadoop Ecosystem Tools and Algorithms
Big Data Management Tools for Hadoop
4 Hands-On Applications 6
Aerospike
Cassandra for Windows
Cloudant
5 Hands-On Applications 4
InfluxDB
Redis
RethinkDB
6 Hands-On Applications 4
Neo4j: Graphs for Real-World Applications
MongoDB
Oracle NoSQL Database
Big Data Fundamentals: Concepts, Drivers & Techniques, 1st Edition, 2016,
Paul Buhler, Wajid Khattak and Thomas Erl, Prentice Hall, ISBN:
9780134291185.
Textbook:
NoSQL: Database for Storage and Retrieval of Data in Cloud, 1st
Edition, Kindle Edition, 2017, by Ganesh Chandra Deka, Chapman and
Hall/CRC, ISBN 9781498784368.
79
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Engineering of Computer and
Department Major Computer Programming
Information Technology
Course Name Cloud Computing Course Code IPRG 475
Credit Hours 3 CTH 4
Prerequisites IPRG 324 CRH L 2 P 2 T 0
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
Course description :
This course introduces the fundamental concepts, technologies, and innovative applications of Cloud
Commuting systems, distributed systems and file systems, map-reducing programming models, resource
management, virtualization technologies, programming models, cloud models and analytics techniques
that are needed for developing scalable and efficient next-generation applications for processing Big
Data. Hands-on experience with Hadoop, MapReduce platforms and big data databases
like SQL and noSQL will be key components of this course.
Topics :
Understanding Cloud Computing
Business Intelligence
Cloud Computing Model and Services
Service-Oriented Architecture
File System and Storage on Cloud
Hadoop
Experiments: if applicable it will support the course topics
References :
Cloud Computing, 1st Edition, 2017, Sandeep Bhowmik, Cambridge University Press, ISBN-
13: 978-1316638101
NoSQL: Database for Storage and Retrieval of Data in Cloud, 1st Edition, Kindle Edition, 2017,
by Ganesh Chandra Deka, Chapman and Hall/CRC, ISBN 9781498784368.
Detailed of Theoretical Contents
No. Contents Hours
1 Introduction to Cloud Computing 8
Cluster Computing
Grid Computing
Cloud Computing
Utility Computing
Beneits of Cloud Computing
Challenges of Cloud Computing
Cloud Computing: Network as Computer
Role of Web Service
Role of API
2 Cloud Computing Model and Services 8
Standard Cloud Model
Cloud Deployment Models
Service Delivery Models
Service Abstraction and the SPI Model
A Traditional System vs Cloud System Model
SaaS and PaaS: Salesforce.com and Force.com
Open Cloud Services
80
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Detailed of Theoretical Contents
No. Contents Hours
3 Service-Oriented Architecture 8
The Pre-SOA Era
Role of SOA in Cloud Computing
Service-Oriented Architecture
Goal of System Designing
Service Represents Business Functionality
Open Standard Implementation
Beneits of SOA and the Cloud Computing
4 File System and Storage on Cloud 8
Requirements of Data-Intensive Computing
Model for High-Performance Processing of Large Data-sets
Cloud Native File System
Storage Deployment Models
Storage Types
Popular Cloud Storages for Developers
Popular General Purpose Cloud Storages
Cloud Computing, 1st Edition, 2017, Sandeep Bhowmik, Cambridge
Textbook:
University Press, ISBN-13: 978-1316638101
Detailed of Practical Contents
No. Contents Hours
1 Hadoop 8
Applications of Hadoop Ecosystems Tools
Hadoop Ecosystem Tools and Algorithms
Big Data Management Tools for Hadoop
2 Hands-On Applications 8
Aerospike
Cassandra for Windows
Cloudant
3 Hands-On Applications 8
InfluxDB
Redis
RethinkDB
4 Hands-On Applications 8
Neo4j: Graphs for Real-World Applications
MongoDB
Oracle NoSQL Database
NoSQL: Database for Storage and Retrieval of Data in Cloud, 1st
Textbook: Edition, Kindle Edition, 2017, by Ganesh Chandra Deka, Chapman and
Hall/CRC, ISBN 9781498784368.
81
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Appendix Laboratory Equipment, Workshops and Laboratories
Laboratory name Capacity of Human Training courses benefiting from the
No.
/ workshop training Resources laboratory / workshop / lab
Master in
(Information
Technology,
Computer All the core courses and elective
1 20 Computer
Software lab courses in computer software
Science,
Software
Engineering)
List of Detailed Equipment for Each Laboratory, Workshop or Lab
Computer Software lab
No. Product's Name Quantity
1. Computer with all required software application 21
82
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
References
1. JavaTM How to Program, Tenth edition
2. Java All=IN-ONE FOR DUMMIES, 4th Edition
Technical Communication, 11th Edition, 2015, Mike Markel, Bedford/St.
3. Martin MacMillan, ISBN-13: 978-1457673375
Technical Communication: Process and Product, 8th Edition, 2013, Sharon
4. Gerson and Steven Gerson, Pearson, ISBN-13: 978-0321864949
New Perspectives on Computer Concepts 2016, Introductory, 18th Edition,
5. 2016, June Jamrich Parsons, Course Technology, ISBN: 9781305387751
Technical Communication: Process and Product, 8th Edition, 2013, Sharon
6.
Gerson and Steven Gerson, Pearson, ISBN-13: 978-0321864949
7. Data Structure & Algorithms in Java, sixth edition
Data Structures and Algorithm Analysis in C++, Addison Wesley, 2014. M. A.
8.
Weiss
Web Programming and Internet Technologies, 2nd edition. By Scobey.
9. Publisher: Jones & Bartlett LearningmRelease Date: September 2016 ISBN:
9781284070699
Needham, Timothy C., Python: For Beginners: A Crash Course Guide To Learn
Textbooks 10. Python in 1 Week (coding, programming, web-programming, programmer),
2017.
An Introduction to Digital Multimedia, T. M. Savage and K. G. Vogel, Second
11.
Edition, Jones and Barlett Learning, 2014, ISBN: 9781449688394.
Computer Networking: A Top-Down Approach, 2017, James Kurose and Keith
12.
Ross, 7th Edition, Pearson, ISBN-13: 978-0133594140
13. Software Engineering, 10 Edition,
14. Modern System Analysis and Design.
Neuburg, Matt, iOS 10 Programming Fundamentals with Swift, O'Reilly Media,
15.
Inc. 2016.
David Benyon, Designing Interactive Systems: A comprehensive guide to HCI,
16.
UX and interaction design, Pearson, 2013.
17. Interaction Design Foundation https://www.interaction-design.org/literature.
V Jenny Preece, Helen Sharp, Yvonne Rogers, Interaction Design: Beyond
18.
Human-Computer Interaction, 4th Edition, John Wiley & Sons, 2015.
F.E. Ritter, G.D. Baxter, and E.F. Churchill Foundations for Designing
19. User−Centered Systems: What System Designers need to know about People,
Springer, 2014.
Jenny Preece, Helen Sharp, Yvonne Rogers, Interaction Design: Beyond
20.
Human-Computer Interaction, 4th Edition, John Wiley & Sons, 2015.
83
Engineering of Computer and Information
KINGDOM OF SAUDI ARABIA Technology
Technical and Vocational Training Corporation
Directorate General for Curricula
Computer Software
Database Systems: Design, Implementation, & Management, 12th Edition,
21. Carlos Coronel and Steven Morris, Course Technology, ISBN-13: 978-
1305627482.
Oracle 12c: SQL, 2015, 3rd Edition, Joan Casteel, Course Technology, ISBN-
22.
13: 978-1305251038
Security in Computing (5th Edition), 2015, Charles P. Pfleeger and Shari
23. Lawrence Pfleeger and Jonathan Margulies, Prentice Hall, ISBN-13: 978-
0134085043
Cyber Security Engineering: A Practical Approach for Systems and Software
24. Assurance, October 2016, 1st Edition, Carol C. Woody and Nancy R. Mead,
Addison-Wesley Professional, ISBN-13: 978-0134189802.
Ravulavaru, Arvind, Learning Ionic: Build real-time and hybrid mobile
25.
applications with ionic, Packt Publishing, 2015.
Modern ERP: Select, Implement, and Use Today's Advanced Business Systems,
26.
3rd Edition, 2015, Marianne Bradford , Lulu, ISBN-13: 978-1312665989
Concepts in Enterprise Resource Planning, 4th Edition, 2014, Ellen Monk and
27. Bret Wagner, Course Technology; ISBN: 3: 978-1-111-82039-8, ISBN-13: 978-
1-111-82040-4
Information Technology Project Management: Providing Measurable
28. Organizational Value, 5th Edition, 2015, Jack T. Marchewka, Wiley, ISBN-
13: 978-1118911013.
Cloud Computing, 1st Edition, 2017, Sandeep Bhowmik, Cambridge University
29.
Press, ISBN-13: 978-1316638101
Big Data Fundamentals: Concepts, Drivers & Techniques, 1st Edition, 2016,
30. Paul Buhler, Wajid Khattak and Thomas Erl, Prentice Hall, ISBN:
9780134291185.
NoSQL: Database for Storage and Retrieval of Data in Cloud, 1st
31. Edition, Kindle Edition, 2017, by Ganesh Chandra Deka, Chapman and
Hall/CRC, ISBN 9781498784368.
"DATAWAREHOUSING FUNDAMENTALS: A COMPREHENSIVE
32. GUIDE
FOR IT PROFESSIONALS", by Paulraj Ponniah, Latest Edition.
"DATAMINING: CONCEPTS AND TECHNIQUES", The Morgan Kaufmann
Series in Data Management Systems, by Jiawei Han, and Micheline Kamber,
33.
The
Latest Edition.
84