Computer Software
1
Semesters
1439 H – 2018 G
A Bachelor's Degree
ةيبيردتلا ططـخلا ةينقتلا تايلكلل
Training Plans for Technical Colleges Curriculum for Department of
Engineering of Computer and Information Technology
Major
Computer Software
)ةعجارلما تتح( ةيلوأ ةخسن
Under Revision Draft
1
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
2
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.
3
ةيبيردتلا لوصفلا ىلع ةيبيردتلا ةطلخا عيزوت يثلثلا ماظنلاب سويرولاكبلا ةلحرلم
The Curriculum Framework Distributed
on Trimesters
1st Tr imeste r
No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
لولأا بييردتلا لصفلا
م.و حم مع تم أ.س
CRH L P T CTH
1 ENGL 301 English Language (1) 4 4 0 2 6 1 ةيزيلجنا ةغل لجنا301 1
2 MATH
301 Mathematics (1) 4 3 2 1 6 1 تايضاير 301
ضاير 2
3 PHYS 301 Physics 4 3 2 1 6 ءايزيف يزيف301 3
4 IPRG 313 Advanced computer
Programming 5 3 4 1 8 ةمدقتلما بساحلا ةجمرب جمرب313 4
Total Number of Units 17 13 8 5 26 عومجلما
2nd Tri mester
No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
يناثلا بييردتلا لصفلا
م.و حم مع تم أ.س
CRH L P T CTH
1 ENGL302 English Language (2) ENGL 301 4 4 0 2 6 لجنا301 2 ةيزيلجنا ةغل لجنا302 1 2 MATH
303 Discrete Math MATH 301 4 3 2 1 6 ضاير301 ةعطقتمتايضاير 303
ضاير 2
3 IPRG 335 Advanced Web Programming 4 2 4 0 6 ةمدقتلما بيولا تايجمرب جمرب335 3
4 IPRG 382 IT Terminologies and Technical
Writing 3 3 0 1 4 تامولعلما ةينقت تاحلطصم
ةينفلا ةباتكلاو جمرب382 4
Total Number of Units 15 12 6 4 22 عومجلما
3r d T rimester
No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
ثلاثلا بييردتلا لصفلا
م.و حم مع تم أ.س
CRH L P T CTH
1 STAT 303 Statistics and Probability 3 3 0 1 4 تلاامتحلإاو ءاصحلإا 303
اصحا 1
2 INSA 351 Network Technologies -1 4 2 4 0 6 1- تاكبشلا تاينقت 351
كبشن 2
3 IPRG 325 Algorithms Design & Data Structure
4 2 4 0 6 ةلكيهو تايمزراوخلا ميمصت
تانايبلا
325
جمرب 3
4 UACC 301
Principles Of Accounting 4 4 0 2 6 ةبساحلما ئدابم 301
بسحم 4
Total Number of Units 15 11 8 3 22 عومجلما
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH:
Contact Hours
،ةدمتعم تادحو : م.و
،ةرضاحم : حم
،شرو /يلمع : مع
،نيرامت : مت
: أ.س
يعوبسأ لاصتا تاعاس
4
4th Tri mes ter
No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
عبارلا بييردتلا لصفلا
م.و حم مع تم أ.س
CRH L P T CTH
1 IPRG 473 Multimedia Systems
Development 4 3 2 0 5 ةددعتلما طئاسولا ةمظنأ ريوطت جمرب473
1 2 IPRG 324 Database Management
Systems
4 2 4 0 6 تانايبلا دعاوق ةرادإ ةمظنأ جمرب324
2 3 IPRG 443 Advanced Software
Engineering
IPRG 313 3 3 0 1 4 جمرب 313 ةمدقتلما تايجمربلا ةسدنه جمرب443 3 4 IPRG 472 Embedded system
programming IPRG 313 4 2 4 0
6 جمرب313 ةجمدلما ةمظنلأا ةجمرب جمرب472 4 5 IPRG 478 Enterprise Resources Planning
Systems - ERP
UACC 301 4 2 4 0 6 301
بسحم
ةكرشلا دراوم طيطخت ةمظنأ 478 جمرب
5
Total Number of Units 19 12 14 1 27 عومجلما
5th Tri mes ter
No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
بييردتلا لصفلاسمالخا
م.و حم مع تم أ.س
CRH L P T CTH
1 IPRG 453 Advanced Smart Devices Programming -1
IPRG 313 4 2 4 0 6 جمرب 313 1- ةمدقتلما ةيكذلا ةزهجلأا ةجمرب جمرب453 1 2 IPRG 461 User Interface Design IPRG 443 4 2 4 0 6 جمرب443 مدختسلما ةهجاو ميمصت جمرب461 2
3 IPRG 474 Software security IPRG 324 4 2 4 0 6 جمرب324 تايجمربلا نمأ 474
جمرب
3
4 IPRG *** Elective Courses -1 3 2 2 0 4 1- يرايتخا ررقم جمرب *** 4
Total Number of Units 15 8 14 0 22 عومجلما
6th Tri mes ter
No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
بييردتلا لصفلاسداسلا
م.و حم مع تم أ.س
CRH L P T CTH
1 IPRG *** Elective Courses -2 IPRG 324 3 2 2 0 4 جمرب324 2- يرايتخا ررقم جمرب *** 1
2 ******* Elective Courses -3 3 2 2 0 4 3- يرايتخا ررقم ******* 2
3 IPRG 454 Advanced Smart Devices Programming -2
IPRG 453 4 2 4 0 6 جمرب453 2- ةمدقتلما ةيكذلا ةزهجلأا ةجمرب جمرب454 3 4 IPRG 492 Graduation Project IPRG 453
IPRG 472 4 2 4 0 6 جمرب453
472
جمرب جرختلا عورشم جمرب492 4
Total Number of Units 14 8 12 0 20 عومجلما
Total Number of Semesters Units
CRH L P T CTH
جمانبرلا تادحول يلكلا عوملمجا
م.و حم مع تم أ.س
95 64 62 13 139
Total Contact Hours × 13 Co-operative Training بيردتلاتادحول يلكلا عوملمجا ينواعتلا بيردتلا 13× ةيلكلا لاصتلإا تاعاس
1807 0 1807 0 1807
5
Elective Courses
Elective Courses -1 No. Course Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
ةيرايتخلإا تاررقلما-1
م.و حم مع تم أ.س
CRH L P T CTH
1 IPRG 484 Selected Topics 3 2 2 0 4 ةراتخم عيضاوم جمرب484 1
2 IPRG 483 Software Testing and Quality
Assurance IPRG 443 3 2 2 0 4 جمرب443 ةلماشلا ةدوجلاو تايجمربلا رابتخاجمرب483 2 CRH: Credit Hours L: Lecture P: Practical T: Tutorial
CTH: Contact Hours
،ةدمتعم تادحو : م.و
،ةرضاحم : حم
،شرو /يلمع : مع
،نيرامت : مت
يعوبسأ لاصتا تاعاس : أ.س
Elective Courses -2 No. Course
Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
ةيرايتخلإا تاررقلما-2
م.و حم مع تم أ.س
CRH L P T CTH
1 IPRG 475 Cloud computing IPRG 324 3 2 2 0 4 جمرب324 ةيباحسلا ةبسوحلا جمرب475 1
2 IPRG 476 Big Data Analytics IPRG 324 3 2 2 0 4 جمرب324 ةمخضلا تانايبلاتلايلحت جمرب476 2 CRH: Credit Hours L: Lecture P: Practical T: Tutorial
CTH: Contact Hours
،ةدمتعم تادحو : م.و
،ةرضاحم : حم
،شرو /يلمع : مع
،نيرامت : مت
يعوبسأ لاصتا تاعاس : أ.س
Elective Courses -3 No. Course Code Course Name Prereq
No. of Units
بلطتلما ررقلما مسا زمر
ررقلما م
ةيرايتخلإا تاررقلما-3
م.و حم مع تم أ.س
CRH L P T CTH
1 IPRG 477 Data Mining IPRG 324 3 2 2 0 4 جمرب324 تانايبلا نع بيقنتلا جمرب477 1
2 INSA 485 Internet of Things 3 2 2 0 4 ءايشلأا تنرتنإ 485
كبشن 2
CRH: Credit Hours L: Lecture P: Practical T: Tutorial CTH: Contact Hours
،ةدمتعم تادحو : م.و
،ةرضاحم : حم
،شرو /يلمع : مع
،نيرامت : مت
يعوبسأ لاصتا تاعاس : أ.س
6
Brief Course Description
Course
Name Advanced computer Programming Course
Code IPRG 313 Credit
Hours 5
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.
Course
Name Advanced Web Programming Course
Code IPRG 335 Credit
Hours 4
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.
Course Name
IT Terminologies and Technical Writing
Course
Code IPRG 382 Credit
Hours 3
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.
Course Name
Algorithms Design & Data Structure
Course
Code IPRG 325 Credit
Hours 4
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 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 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.
7 Course
Name Multimedia Systems Development Course
Code IPRG 473 Credit
Hours 4
Description
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 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
Name Advanced Software Engineering Course
Code IPRG 443 Credit
Hours 3
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.
Course
Name Embedded System Programming Course
Code IPRG 472 Credit
Hours 4
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 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
Name Database Management Systems Course
Code IPRG 324 Credit
Hours 4
Description
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 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.
8 Course
Name
Advanced Smart Devices Programming -1
Course
Code IPRG 453 Credit
Hours 4
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.
Course
Name User Interface Design Course
Code IPRG 461 Credit
Hours 4
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.
Course Name
Enterprise Resources Planning Systems - ERP
Course
Code IPRG 478 Credit
Hours 4
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.
Course Name
Advanced Smart Devices Programming -2
Course
Code IPRG 454 Credit
Hours 4
Description
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 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.
9 Course
Name Software Security Course
Code IPRG 474 Credit
Hours 4
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.
Course
Name Graduation Project Course
Code IPRG 492 Credit
Hours 4
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 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
Name Selected Topics Course
Code IPRG 484 Credit
Hours 3
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.
Course
Name Data Mining Course
Code IPRG 477 Credit
Hours 3
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.
10 Course
Name Big Data Analytics Course
Code IPRG 476 Credit
Hours 3
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.
Course
Name Cloud Computing Course
Code IPRG 475 Credit
Hours 3
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.
Course Name
Software Testing and Quality Assurance
Course
Code IPRG 483 Credit
Hours 3
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.
11
Courses Description
12 Department Engineering of Computer and
Information Technology Major Computer Programming Course Name Advanced Computer Programming Course Code IPRG 313
Prerequisites Credit Hours
CRH
5 CTH 8
L 3 P 4 T 1
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
Inheritance
Overriding
Polymorphism
abstraction
Encapsulation
Interfaces
Packages
12
2
Data Structure
Linked lists
Stacks
Queues
8
3
Collection
The collection interfaces
The collection classes
The collection algorithms
Collection Methods
Lists
8
4
Generic
Generic Methods
Bounded Type Parameters
Generic Classes
8
13
Detailed of Theoretical Contents
No. Contents Hours
5
Networking in Java
URL Class
URLConnection class
InetAddress class
Socket class
12
6
Java Applet
Introduction
The Applet Class
HTML <applet> tag
HTML Attribute Reference
Getting Applet Parameters
Application Conversion to Applet
Event Handling
Image Display
Audio Play
14
Textbook: JavaTM How to Program, Tenth edition
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 3
5 LAB 5: Data Structure
4 6 LAB 6: Data Structure
4 7 LAB 7: Collection
4 8 LAB 8: Generic
4
9 LAB 9: Networking 4
10 LAB 10: Networking 4
14
Detailed of Practical Contents
No. Contents Hours
11 LAB 11: Networking 3
12 LAB 12: Java Applet
3 13 LAB 13: Java Applet
3 Textbook: JavaTM How to Program, Tenth edition
Java All=IN-ONE FOR DUMMIES, 4th Edition
15 Department Engineering of Computer and
Information Technology Major Computer Programming Course Name Advanced Web Programming Course Code IPRG 335
Prerequisites Credit Hours
CRH
4 CTH 6
L 2 P 4 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
Introduction to HTML5
The Evolution of HTML5
HTML5 Structure Elements, Forms, Audio and Video
HTML5 Canvas
HTML 5 APIs
7
2 Using Cascading Style Sheets Version 3 (CSS3)
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
9
3 JavaScript
HTML5 and JavaScript
Embedding JavaScript into HTML5 Documents
JavaScript Events
JavaScript Functions
JavaScript Methods
9
4 PHP
Control statements
Strings and numbers
9
16
Detailed of Theoretical Contents
No. Contents Hours
Arrays
Functions 5 MySQL
SQL statements for data manipulation
Introduction to MySQL
Connecting to MySQL
Select statement
Querying a Database in PHP
6
6 eXtensible Markup Language (XML)
Basic Rules of XML
Describing and Viewing XML Data
Validating XML data with a Document Type Definition
Styling XML data with CSS
6
Textbook:
Web Programming and Internet Technologies, 2nd edition. By Scobey.
Publisher: Jones & Bartlett LearningmRelease Date: September 2016 ISBN:
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
Textbook:
Web Programming and Internet Technologies, 2nd edition. By Scobey.
Publisher: Jones & Bartlett LearningmRelease Date: September 2016 ISBN:
9781284070699
17 Department Engineering of Computer and
Information Technology Major Computer Programming Course Name IT Terminologies and Technical
Writing Course Code IPRG 382
Prerequisites Credit Hours
CRH
3 CTH 4
L 3 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
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
4
18
Detailed of Theoretical Contents
No. Contents Hours
2 Writing Collaboratively
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
4
3 Planning the Documentation
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
4 Academic and Workplace Research
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
4
5 Organizing Technical Information
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
4
19
Detailed of Theoretical Contents
No. Contents Hours
6 Verbal and Visual Information
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
4
7 Emphasizing Important Information
Writing Clear
Informative Titles
Informative Headings and Lists
Effective Paragraph Lists
Effective Sentence Lists
Informative Paragraphs
Structure Paragraphs
Coherence Devices
4
8 Writing Correspondence
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
4
Textbook:
Technical Communication, 11th Edition, 2015, Mike Markel, Bedford/St.
Martin MacMillan, ISBN-13: 978-1457673375
Technical Communication: Process and Product, 8th Edition, 2013, Sharon Gerson and Steven Gerson, Pearson, ISBN-13: 978-0321864949
20 Detailed of Practical Contents
No. Contents Hours
1 Working with Digital Contents and Devices
Digital Basics and Sounds
Bitmap Graphics
Vector Graphics
Digital Video
Device Basics
Device Options
Processors and Memory
Storage, Input and Output
4
2 Working on the Web
Web Basics
Browsers
HTML. HTTP
Search Engines
Web Pages
Home Pages
3
3 Working with Software and Information Systems
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
4 Communication Channels and Process
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
4
5 Ethics in the Workplace
Business Ethics
Intellectual Property Types
Copyrights and Patents
Ethics of Intellectual Property Laws
Protecting Intellectual Property
Making Ethical Decisions
2
21 Detailed of Practical Contents
No. Contents Hours
6 Research Documentation
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
3
Textbook:
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
22 Department Engineering of Computer and
Information Technology Major Computer Programming Course Name Algorithms Design & Data
Structure Course Code IPRG 325
Prerequisites Credit Hours
CRH
3 CTH 6
L 2 P 4 T 0
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 :
Algorithm and its properties,
Computational and Asymptotic Complexity,
Complexity Notations – Big-Omega(Ω) and Theta(Ɵ) Notations,
The Best, Average and Worst Case Analysis.
8
2 Arrays and Linked Lists:
Practical uses of Arrays
Singly Linked List and its basics operations – Insertion, Deletion and Search,
Circular Linked Lists,
Double Linked Lists
6
3 Stacks:
Introduction to Stack,
Basic Operations on Stacks – clear,
push and pop. Applications of Stack ,
6
4 Queues:
Introduction to Queue,
6
23
Detailed of Theoretical Contents
No. Contents Hours
Basic operations on Queue – clear, enqueue, dequeue.
Applications of Queue,
Priority Queues.
5 Trees
Trees definitions and properties
Binary Trees
Tree representation
8
6 Searching:
Sequential search
Binary Search,
8
7 Sorting:
Sorting Techniques,
Insertion Sort,
Selection Sort,
Bubble Sort,
Quick Sort
Merge Sort,
7
8 Graph Algorithms
Definitions
Topological Sort
Shortest Path Algorithms Network Flow Problems
Minimum Spanning Tree
6
Textbook: Data Structure & Algorithms in Java, sixth edition
Data Structures and Algorithm Analysis in C++, Addison Wesley, 2014. M. A. Weiss Detailed of exercise Contents
No. Contents Hours
1 Complexity Analysis :
Algorithm and its properties,
Computational and Asymptotic Complexity,
Complexity Notations – Big-Omega(Ω) and Theta(Ɵ) Notations,
The Best, Average and Worst Case Analysis.
3
2 Arrays and Linked Lists:
Practical uses of Arrays
Singly Linked List and its basics operations – Insertion, Deletion and Search,
Circular Linked Lists,
Double Linked Lists
2
3 Stacks:
Introduction to Stack,
Basic Operations on Stacks – clear,
push and pop. Applications of Stack ,
3
4 Queues:
Introduction to Queue,
Basic operations on Queue – clear, enqueue, dequeue.
Applications of Queue,
Priority Queues.
3
24 Detailed of exercise Contents
No. Contents Hours
5 Trees
Trees definitions and properties
Binary Trees
Tree representation
3
6 Searching:
Sequential search
Binary Search,
3
7 Sorting:
Sorting Techniques,
Insertion Sort,
Selection Sort,
Bubble Sort,
Quick Sort
Merge Sort,
3
8 Graph Algorithms
Definitions
Topological Sort
Shortest Path Algorithms Network Flow Problems
Minimum Spanning Tree
3
Textbook: Data Structure & Algorithms in Java, sixth edition
Data Structures and Algorithm Analysis in C++, Addison Wesley, 2014. M. A. Weiss
25 Department Engineering of Computer and
Information Technology Major Computer Programming Course Name Multimedia Systems Development Course Code IPRG 473
Prerequisites Credit Hours
CRH
4 CTH 5
L 3 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
Nature of a revolution
Definition of modern multimedia
Forms of multimedia
Origins of multimedia
Visionaries of multimedia
Potential of digital media
3
2 Digital Data
Elements of Digital Media
Digital Codes
Digital Files
Digitization Process
3
26
Detailed of Theoretical Contents
No. Contents Hours
Compression for Digital Media
Advantages of Digital Media
Challenges of Digital Media 3 Computer Hardware
Components of a Computer System
Types of Computer Systems
Computer Platforms
Hardware Basics
Network Fundamentals
3
4 Computer Software
Main Categories of Software
Functions of The Operating System
Types of Programming Languages
Software for Multimedia Development
3
5 Text
Text tradition.
Codes for computer text
Font technologies
Multimedia text
Guidelines for use of text in multimedia
3
6 Graphics
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
3
7 Sound
Nature of Sound
Traditional Sound Reproduction
Digital Sound
Sampled
Synthesized
Advantages of Digital Sound
Guidelines for Digital Sound in Multimedia
2
8 Video
Digital Video
Quality Factors
Compression Strategies
File Formats
Create Original Video
Digital Video Camera Considerations
Guidelines for Video in Multimedia
3
9 Animation
Animation Basics
Traditional Animation Techniques
2-D Animation Techniques
3
27
Detailed of Theoretical Contents
No. Contents Hours
3-D Animation
Guidelines for Animation in Multimedia 10 Authoring & Multimedia Development
Approaches of Integrating Media Elements
Authoring Metaphors
Authoring Process
Guidelines to Select an Authoring Application
Requirements of Multimedia Development
Team Members
Development Plan
3
11 Professional Issues in Multimedia Development
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
3
Textbook: Computer Networking: A Top-Down Approach, 2017, James Kurose and Keith Ross, 7th Edition, Pearson, ISBN-13: 978-0133594140
Detailed of Practical Contents
No. Contents Hours
1 Digital Data& Computer Software
Elements of Digital Media
Digital Codes
Digital Files
Digitization Process
Compression for Digital Media
Software for Multimedia Development
4
2 Text
Text tradition.
Codes for computer text
Font technologies
Multimedia text
Guidelines for use of text in multimedia
4
3 Graphics
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
5
4 Sound
Nature of Sound
Traditional Sound Reproduction
Digital Sound
4
28 Detailed of Practical Contents
No. Contents Hours
Sampled
Synthesized
Advantages of Digital Sound
Guidelines for Digital Sound in Multimedia 5 Video
Digital Video
Quality Factors
Compression Strategies
File Formats
Create Original Video
Digital Video Camera Considerations
Guidelines for Video in Multimedia
5
6 Animation
Animation Basics
Traditional Animation Techniques
2-D Animation Techniques
3-D Animation
Guidelines for Animation in Multimedia
5
7 Authoring & Multimedia Development
Approaches of Integrating Media Elements
Authoring Metaphors
Authoring Process
Guidelines to Select an Authoring Application
Requirements of Multimedia Development
Team Members
Development Plan
6
Textbook: Computer Networking: A Top-Down Approach, 2017, James Kurose and Keith Ross, 7th Edition, Pearson, ISBN-13: 978-0133594140
29 Department Engineering of Computer and
Information Technology Major Computer Programming Course Name Advanced Software Engineering Course Code IPRG 443
Prerequisites IPRG 313 Credit Hours
CRH
3 CTH 4
L 3 P 0 T 1
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
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
7
2 Analysis
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
9