University of Science and Technology
Faculty of Computer Science and Information Technology
Master of Science in Information Technology Program
- Introduction
Information Technology is now fundamental in every aspect of our daily lives. IT systems and technologies are essential for delivering everyday services such as banking, booking, web-based services, and information systems.
Information Technology is and will remain, central to our technological society. As such, there is a strong demand for IT professionals in all sectors of industry. Graduates of this course are highly employable in a wide range of technical disciplines.
The M.Sc. in Information Technology focuses on programming, software engineering, and development methodologies, but it also provides a broad-based coverage of relevant subjects including networks and the Internet, databases, information security, system and network administration, multimedia, and computer graphics, and user interface design.
- Program Objective
The program objectives are:
- to produce graduates who master top on the shelf methodologies, techniques, and tools in a wide range of emerging IT topics such as application development, networking, data mining, and security.
- To produce graduates with essential research capabilities that allow them to undergo in-depth research in any IT field.
- Learning Outcomes
Our graduates are expected to master the following:
- Software analysis and design methodologies and implementation technologies.
- Web-based application development technologies.
- Networking management and networking security tools.
- Data mining techniques and tools.
- Identification of organizational security needs and protection controls.
- Career Opportunities
Graduates are expected to be capable of taking up technical or management positions in the IT industry and to be employable in a wide range of technical disciplines such as:
- Programming
• Software Engineering
• Application Development
• Network Management and Administration
• Database Development
• Information Security
- Admission Requirement
Admission to this program requires satisfaction of either of the following:
- Graduates with a first-classSc. degree in Information Technology, Information System, or Computer Science from the University of Science and Technology or any recognized equivalent university.
- Graduates with a Second upper-classSc. in Information Technology, Information System, or Computer Science from the University of Science and Technology or any recognized equivalent university.
- Graduates with a Second lower class B.Sc. in Information Technology, Information System, or Computer Science from the University of Science and Technology or any recognized equivalent university with an adequate working experience in a related area.
- Graduates with a first-class B.Sc. degree in a related discipline to Information Technology, such as software Engineering, Computer Systems, from the University of Science and Technology or any recognized equivalent university.
- Awarded Degree
The degree of Master of Science in Information Technology will be awarded in the successful completion of 30 credit hours of course work and 6 credit hours of research or project in IT.
- Program Structure
The M.Sc. in Information technology is an 18-month full-time program; it encompasses two semesters of course work and one semester for a research or project dissertation.
7.1 Course work
The program coursework consists of 4 core courses and 6 elective courses. The course work is spread over two semesters. In each semester at least 5 courses are taught. Table (1) shows the core courses and table (2) shows a list of selected elective courses which can be subject to change.
The courses taught to cover the following strands:
- Object-Oriented Programming: how to analyze, design, and implement systems using Object-Oriented Programming.
- Networking: Understanding of advanced networking technologies such as wireless networks and mobile Ad-hoc networks.
- Web-based Applications: How to analyze, design, and implement data-intensive web-based applications using top-of-the-shelf technologies.
- Data Mining: Understanding of principles of data mining techniques and tools.
- Information Security: Understanding of information security characteristics, risk management, threats, and countermeasures.
Fees:
Sudan Center (SDG) | Egypt Center (Egyptian pound) | Saudi Center (Dirham) | |||||||
Registration fees | Study Fees | Training Fees | Registration fees | Study Fees | Training Fees | Registration fees | رسوم الدراسة | Training Fees | |
Sudanese | 520,000 | 1,820,000 | 1,690,000 | 10,000 | 35,000 | 62,560 | 736 | 2,584 | 5,700 |
For non-Sudanese | 520,000 | 5,200,000 | 1,690,000 | 10,000 | 100,000 | 62,560 | 736 | 7,364 | 5,700 |
Course Code | Course Name | Credit Hours |
ITC01 | Advanced Object-Oriented Programming in Java | 3 |
ITC02 | Advanced Computer Networking | 3 |
ITC03 | Advanced Web-Based Applications | 3 |
ITC04 | Advanced-Data Mining Techniques | 3 |
Table (1): Core Courses
Course Code | Course Name | Credit Hours |
ITE01 | Advanced Multimedia Technologies | 3 |
ITE02 | Advanced User Interface Design | 3 |
ITE03 | Advanced Web Technologies | 3 |
ITE04 | Advanced Machine Learning | 3 |
ITE05 | Advanced Databases | 3 |
ITE06 | Artificial Intelligence Applications | 3 |
ITE07 | Security in Mobile Adhoc Networks | 3 |
ITE08 | Advance Network Administration | 3 |
ITE9 | Advanced Information Security Issues | 3 |
ITE10 | Mobile Applications | |
ITE11 | Object-Oriented Analysis and Design | 3 |
ITE12 | Advanced Software Engineering | 3 |
Table (2): Elective Courses
Table (3) shows one possible study plan for the program
Semester 1 | ||
Course Code | Course Name | Credit Hours |
ITC01 | Advanced Object-Oriented Programming in Java | 3 |
ITC02 | Advanced Computer Networking | 3 |
ITE01 | Advanced Multimedia Technologies | 3 |
ITE05 | Advanced Database | 3 |
ITE03 | Advanced Web Technologies | 3 |
ITE12 | Advanced Software Engineering | 3 |
Semester 2 | ||
ITC03 | Advanced Web-Based Applications | 3 |
ITC04 | Advanced-Data Mining Techniques | 3 |
ITE04 | Advanced Machine Learning | 3 |
ITE02 | Advanced User Interface Design | 3 |
ITE06 | Artificial Intelligence Applications | 3 |
ITE9 | Advanced Information Security Issues | 3 |
Semester 3 | ||
ITC05 | Research or Project Dissertation | 6 |
Table (3): Study Plan Example
7.2 Research or Project Dissertation
To complete the M.Sc. degree students must undertake in the third semester:
A research or project in IT emerging topic proposed by a student or staff member and approved by the Program Research and Projects Board (PRPB).
- Assessment
- Course Assessment
Course assessment is based on the following criteria:
- 30% – 40% for coursework, which encompasses quizzes, tests, Laboratory assignments, written assignments, and students’ seminars.
- 60% – 70% for Exams.
- Grading System
Grades will be based on the following scale:
Mark | Grade |
>= 80 | A |
75 – 79 | B+ |
70 -74 | B |
65 – 69 | C+ |
60 – 64 | C |
< 60 | F |
- Student Performance Evaluation
Students’ performance is evaluated per semester out of 5 courses (including all core courses) according to the following rules:
- Semester 1
- A student will be withdrawn if he achieves 2 F in core courses or any 3 F.
- Semester 2
- A student will be withdrawn if his accumulated achievement in the two semesters is at least 2 F in core courses or any 3 F.
- A student with one F in a core or elective core or with 2F at most one of them is core has to sit for supplementary exams.
- A student will be withdrawn if he achieves an F in any supplementary exam.
- A student will be awarded Postgraduate Diploma in Information Technology if he passed 8 or 9 courses.
– Semester 3
- A student will resubmit new research or project if he got F in the research or project dissertation.
- Research or Project Dissertation Evaluation
The student research or project dissertation is a complementary requirement that students should fulfill. The student must submit a research or project dissertation to the Program Research and Projects Board by the end of the third semester. External and internal examiners will be assigned by the PRPB to evaluate the dissertation and student defense. A Pass or Fail is the only grade for the final evaluation.
- Academic Support Services
- Library Services
The Library, located in the Postgraduate Buildings, provides the program students with a full range of resources including books, online journal databases, and online Internet Services. Librarians are available to assist in locating information.
- Tutoring Services
The faculty of Computer Science and Information Technology offers tutoring in various forms at no cost to the program students at the Tutoring and Testing Lab. Tutors are available at convenient times throughout the week.
- Open Computing Lab
The Open Computing Lab provides free computing for students at convenient times throughout the week. The computer lab is staffed by trained Lab Assistants and offers the use of approximately 25 computers, a scanner, and a laser printer.
Course Description
Course Code: ITC01
Course Name: Advanced Object-Oriented Programming in Java
Credit Hours: 3
Course description
This course provides students with advanced java packages that allow them to develop real large-scale applications that implement GUI and manipulate files. Besides advanced database and networking concepts and programming techniques are provided.
Learning Outcomes
At the completion of this course, the student should be able to:
- Develop file handling, Swing-based GUI programs.
- Develop client/server and TCP/IP socket applications.
- Update and retrieve data from databases using SQL
- Develop distributed applications using RMI and component-based Java software using JavaBeans.
- Develop server-side programs in the form of Servlets.
Course Outlines
- Introduction to Swing Components
- Advanced GUI
- Layout Managers
- Events and Event Handling
- Using Menus
- Graphics
- Applets, Images, and Sound
- Design patterns for large-scale system architecture
- Java Database Connectivity
- Network Programming
- Java Beans
- Serverlets
Evaluation Methods: Assignments, Tests, Exams.
20 % Coursework Mark.
40% Laboratory Exam Mark.
40 % Final Exam Mark
Textbooks:
- Joyce Farrell, Java Programming, Sixth Edition, 2012, Course Technology, Cengage Learning.
Required Further Readings: To be determined by the constructor.
Course Code: ITC02
Course Name: Advanced Computer Networking
Credit Hours: 3
Course Description
The main goal of this course is to provide a deeper insight into the area of computer networks; the topics include the advanced features of IPv6 protocol, mobile computing, mobile Ad-hoc networks, routing protocols in MANET, and mechanisms for ensuring reliable communication. Performance issues in computer networks. Recent research papers will be assigned, presented, and discussed
Learning Outcomes
At the completion of this course, the student should be able to:
- Know the features and benefits of the IPv6 network protocol and become able to design and implement an IPv6 network.
- Compare various routing protocols in terms of efficiency, path selection algorithms, and scalability in mobile ad hoc networks.
- Understand, evaluate and select appropriate network designs and protocols
- Know basic principles in the area of mobile networks
Course Outlines
- IPv6 routing
- IPv6 Transition Technologies
- Introduction to mobile computing
- Mobile Ad Hoc Networks
- Proactive routing protocols
- Reactive routing protocols
- Hybrid routing protocols
- Multicast routing protocols for MANETs.
- Performance comparison of routing protocols
Evaluation Method (Assignments/Tests/Exams)
15 % Coursework Mark.
15% Paper Presentation Mark.
70 % final Exam Mark
Textbooks:
- Joseph Davies, Understanding Ipv6, second edition,2011
- J, Wu, Handbook On Theoretical And Algorithmic Aspects Of Sensor, Ad Hoc Wireless, And Peer-to-Peer Network, CRC Press,2006
Required Further Readings
- Camp, Tracy, Jeff Boleng, and Vanessa Davies. “A survey of mobility models for ad hoc network research.” Wireless communications and mobile computing 2.5 (2002): 483-502.
- Gupta, Anuj K., Harsh Sadawarti, and Anil K. Verma. “Performance analysis of AODV, DSR & TORA routing protocols.” IACSIT international journal of Engineering and Technology 2.2 (2010): 226-231.
- Johnson, David, Charles Perkins, and Jari Arkko. “Mobility Support in IPv6.” (2004).
Course Code: ITC03
Course Name: Advanced Web-Based Applications
Credit Hours: 3
Course Description
Although the World-Wide Web was initially conceived as a vehicle for delivering documents, it is now being used as a platform for sophisticated interactive applications. Web-based applications offer numerous advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. This course teaches the student how to develop data-intensive web applications using Web ML.
Learning Outcomes
Upon completion of this course the student will be able to:
- Analyze web-based application requirement
- Design and implement a data-intensive web-based applications
Course Outlines
- Technologies for Web Applications
- Models for Designing Web Applications
- Data Model
- Hypertext Model
- Content Management Model
- Advanced Hypertext Model
- Overview of the Development Process
- Requirements Specifications
- Data Design
- Hypertext Design
- Architecture Design
- Data Implementation
- Hypertext Implementation
- Advanced Hypertext Implementation
Evaluation Method (Assignments/Tests/Exams)
15 % Coursework Mark.
45% Projects Mark.
40 % final Exam Mark
Textbooks
Stefano Seri, et al, Designing Data-Intensive Web Applications, © 2003 by Elsevier Science (USA).
Required Further Readings: To be determined by the Instructor.
Course Code: ITC04
Course Name: Advanced Data mining techniques
Credit Hours: 3
Course Description
Advanced-Data Mining Techniques emphasizes advanced concepts and techniques for data mining and their applications to large-scale data warehouses. The course discusses basic concepts and principles of data mining, algorithms in classification, and clustering and then covers advanced topics on data mining; mining patterns from temporal data, sequence data, graph data, semi-supervised learning, active learning, learning to learn, boosting and distributed data mining.
The course will also cover the architecture and implementation of data warehouses, data preprocessing (including data cleansing), and the choice of mining algorithms for applications.
In addition to discriminative models such as CRF and SVM models, the course will also introduce generative models such as Bayesian Net.
Learning Outcome
Upon successful completion of this course, students will obtain the following outcomes:
- Good knowledge of how to find and evaluate relevant technical information on a topic.
- Gain an understanding of the problems and techniques used for a set of advanced data mining application areas.
- Learn the detailed concepts of a specific advanced data mining topic.
- Experience in how to implement data mining algorithms.
Course Outlines
The following schedule is subject to change but gives an idea of how the course will progress:
- Definition of data mining and DM techniques
- DM applications
- Clustering
- Association rules
- Fundamentals of model selection.
- Predictive models for classification.
- ROC approach to the cost-sensitive analysis of classifiers.
- Predictive models for regression.
- Estimation of significance.
- Associative learning and decision trees.
- Affinity models.
- Preprocessing of data. Feature selection and feature reduction.
- Density estimation and clustering.
- Overview of mining complex types of data.
Evaluation Method (Assignments/Tests/Exams):
- 15 % Coursework Mark.
- 25% Projects Mark.
- 60 % final Exam Mark
Textbooks:
- Data Mining Concepts and Techniques (Second Edition), Jiawe Han & Micheline Kamber, Morgan Kaufman Publishers, 2005, ISBN 1558609016.
- Mining of Massive Datasets by Anand Rajaraman and Jeff Ullman, Cambridge University Press, 2011
- Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, Ian H. Witten and Eibe Frank, Morgan Kaufmann Publishers
Required Further Readings: To be determined by the Instructor.
Course Code: ITE01
Course Name: Advanced Multimedia Technologies
Credit Hours: 3
Course Description
Multimedia technology is a topic with a great number of applications. In this course, we study all the three layers that multimedia systems lay on: applications, middleware, and networking. This course has the intention of covering introductory, intermediate, and advanced topics in multimedia technology.
Research and educational activities during the course are based on selected literature from textbooks as well as from research papers from the top-ranked scientific journals and conferences.
Learning Outcome
Upon successful completion of this course, students should have:
- A deep knowledge of the evolution and convergence of multimedia communications.
- Updated knowledge concerning the technology framework for multimedia systems, multimedia networking, conferencing, multicasting, as well as e-content and multimedia annotation.
Course Outlines
The following schedule is subject to change but gives an idea of how the course will progress:
- Encoding Applications (MVC/3DTV, HDTV, HD DVD, Blue-Ray)
- Multimedia Communications
- Video transmission
- Transport Protocols RTP/RTSP/RTCP
- Streaming Applications (streaming servers, media conferences, web radio, IP TV, P2P TV)
- IP Telephony (VoIP)
- 323/SIP
- VoIP servers
- Mobile multimedia
- Wireless multimedia
- Μοbile TV (DVB, MBMS)
- IMS
- Quality Of Service in Multimedia services
- Multimedia services categorization
- Network parameters
- DiffServ
- RSVP
- MPLS
- QoS in mobile and wireless
- Multimedia application adaptation
- media transcoding and conversion
- Multimedia content annotation
Evaluation Method (Assignments/Tests/Exams):
- 15 % Coursework Mark.
- 25% Projects Mark.
- 60 % final Exam Mark
Text books:
“Introduction to Multimedia Communications: Applications, Middleware, Networking” by Kamisetty Rao, Zoran Bojkovic, and Dragorad Milovanovic (Hardcover – Jan 3, 2006)
Required Further Readings: To be determined by the Instructor.
Course Code: ITE02
Course Name: Advanced User Interface Design
Credit Hours: 3
Course description
ITE02 focuses on building applications with a graphical user interface (GUI) for the Microsoft Windows operating system, other operating systems, mobile devices, and the Web.
ITE02 Topics include the Win32 API, messaging, event-driven programming, window creation and management, dialog boxes, dynamic link libraries, multiple document interfaces, RAD tools, the .NET Framework, and Human-Computer Interaction (HCI).
The VB .NET and Java programming languages will be utilized to build GUI applications.
Learning Outcome
Upon completion of this course, students will obtain the following outcomes:
- understanding of fundamental graphical user interface concepts
- understanding of the object-oriented programming paradigm
- experience writing GUI programs in Java using Swing classes
- experience writing GUI programs using the .NET framework
- experience using drag-and-drop GUI design software
- greater understanding of the software development process
Course Outlines
The following schedule is subject to change but gives an idea of how the course will progress:
- Creating Applications
- The Control Cornucopia
- Common dialog boxes
- Animation
- Usability and Universality
- GUI Component Bloopers
- Intro to VB.NET & Custom Controls
- Mobile device interfaces
- Media Player
- Layout and Appearance Bloopers
- Textual Bloopers
- GUI development with Java
- Linux GUI interfaces
- Web interfaces
Evaluation Method (Assignments/Tests/Exams):
- 15 % Coursework Mark.
- 25% Projects Mark.
- 60 % final Exam Mark
Textbooks:
- Software Engineering, Ian Sommerville, 2004, 7th edition
- Programming Microsoft Windows Forms by Charles Petzold (2006). ISBN: 0735621535
- GUI Bloopers: Don’ts and Do’s for Software Developers and Web Designers by Jeff Johnson (2000). ISBN: 1558605827
- The Windows Interface Guidelines — A Guide for Designing Software
- People and Computers XIX – The Bigger Picture, Tom McEwan, Jan Gulliksen, and David Benyon (Eds)
- Required Further Readings: To be determined by the Instructor.
Course Code: ITE03
Course Name: Advanced Web Technologies
Credit Hours: 3
Course description
This course will introduce concepts in programming web application servers. It covers the study of the fundamental architectural elements of programming websites that produce content dynamically. The primary technology introduced will be Java Servlets and Java Server Pages (JSPs), but we will also cover the related topics as necessary so that students may build significant applications
Learning Outcomes
Upon successful completion of this course, students will be able to:
- Use Web development technologies such as HTML, XML,AJAX
- Design and implement Dynamic Web sites
Course Outlines
- JavaBeans
- Design Patterns (e.g., Abstract Factories and Model-View-Controller)
- Tag Libraries (JSTL)
- Relational Databases (MySQL/JDBC)
- Object-Relation Mapping tools (BeanFactory)
- Security (including SSL)
- AJAX (including JavaScript and the DOM)
- Web Services (SOAP/WSDL/UDDI)
- Frameworks (Struts)
- Internationalization
- Scalability and Performance Issues
Several tools, software packages, and example web applications will be demonstrated
Evaluation Method (Assignments/Tests/Exams):
15 % Coursework Mark.
45% Projects Mark
40 % final Exam Mark
Textbooks
O’Reilly’s “Head First Servlets and JSP” by Basham, et al.
Required Further Readings:
To be determined by the Instructor.
Course Code: ITE04
Course Name: Advanced Machine Learning
Credit Hours: 3
Course description
This course provides a wide discussion of ML topics such as ML (applications, problems, Probability Theory, basic algorithms), density estimation (estimation, sampling, Exponential Families), Online Learning and Boosting, Kernel machines and Function Spaces, Linear Models, Support Vector Classification, ML methods(Parametric Methods, Multivariate Methods), clustering, Decision Trees, graphical models.
In addition to these topics, the course includes the implementation of some ML algorithms using one of the freely available platforms.
Learning Outcomes
Upon completion of this course, students will obtain the following outcomes:
- Aware with basic knowledge about the key algorithms and theory that form the foundation of machine learning and computational intelligence
- Aware with practical knowledge of machine learning algorithms and methods so that they will be able to:
- understand the principles, advantages, limitations, and possible applications of machine learning
- identify and apply the appropriate machine learning technique to classification, pattern recognition, optimization, and decision problems.
Course Outlines:
The following schedule is subject to change but gives an idea of how the course will progress:
- The PAC learning model.
- Some learning algorithms and optimization methods: (perceptrons, neural networks, support vector machines (SVMs)
- Analysis of SVMs.
- Kernels and Mercer’s theorem.
- Multi-class problems, including nearest-neighbor classifiers and decision trees .
- Dimensionality reduction.
- Reinforcement Learning.
Evaluation Method (Assignments/Tests/Exams):
15 % Coursework Mark.
45% Projects Mark
40 % final Exam Mark
Textbooks:
- Machine learning and Data mining, Introduction to Principles and Algorithms, Igor Kononenko, Matjaž Kukar, Horwood Publishing Limited, 2007, ISBN 978-1904275-21-3
- Machine Learning, Tom M. Mitchell, Publisher: McGraw-Hill, ISBN: 0070428077
- Foundations of Machine Learning, Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalker, MIT Press, Cambridge, MA, 2012.
- Introduction to Machine Learning, Alex Smola and S.V.N. Vishwanathan, Cambridge University Press 2008, ISBN 0 521 82583 0 hardbacks.
Required Further Readings:
To be determined by the Instructor
Course Code: ITE05
Course Name: Advanced Database Systems
Credit Hours: 3
Course description
This is an advanced database course; we assume knowledge of the fundamental concepts of relational databases. This course will cover the core principles and techniques of Transaction Processing, concurrency control, and Database Recovery. Topics will also include Distributed Databases; Databases on the World Wide Web; Multimedia Databases; Mobile Databases; Geographic Information Systems and Database Security and Authorization.
Learning Outcomes
At the completion of this course, the student should be able to:
- Understand the concepts of database transactions and concurrency
- Master the distributed databases
- Has knowledge in the fields of web databases, multimedia databases, and mobile databases.
- Know how to secure databases.
Course Outlines
- Transaction Processing Concepts
- Concurrency Control Techniques.
- Database Recovery Techniques.
- Distributed Databases
- Databases on the World Wide Web.
- Multimedia Databases.
- Mobile Databases.
- Geographic Information Systems.
- Database Security and Authorization.
Evaluation Method (Assignments/Tests/Exams):
- 30% – 40% for course work.
- 60%-70% for Exams
Textbooks:
- Elmasri, r. 2008. Fundamentals of database systems, 5/e, Pearson education India.
- Tamer eozsu, m. & valduriez, p. 2011. Principles of distributed database systems, springer.
- Kumar, v. 2006. Mobile database systems, John Wiley & sons.
- Coronel, c. & morris, s. A. 2012. Database systems: design, implementation, and management [with access code], cengagebrain. Com.
Required Further Readings:
- Bose, b. & sane, s. Dtcot: Distributed timeout-based transaction commit protocol for mobile database systems. Proceedings of the international conference and workshop on emerging trends in technology, 2010. Acm, 518-523.
- SSharma, s. D. & kasana, d. R. 2010. Mobile database system: role of mobility on the query processing. Arxiv preprint arxiv:1004.1747.
- BEIGZADEH, S., ZAMANI, M., IBRAHIM, S. & MASROM, M. Design and Implementation of a Web-Based Database-Centric Management Information System for a Social Community. 2011 International Conference on Information Systems and Computational Intelligence (ICISCI 2011), 2011.
Course Code: ITE06
Course Name: Artificial Intelligence Applications
Credit Hours: 3
Course description
This course provides theoretical and methodological knowledge and skills in artificial intelligence applications. This course is about using concepts of artificial intelligence to solve current, real-world problems. This course will give an overview of the models and algorithms used in modern machine learning, including (but not limited to) generalized linear models, multi-layer neural networks, and clustering. . This course also covers Machine Learning; case-based reasoning; intelligent systems; Optimization methods such as evolutionary algorithm and swarm intelligence; Pattern recognition; Image processing and analysis; Natural language processing; Social intelligence; Control theory; Mathematical tools used in AI; Robotics.
Learning Outcomes:
At the completion of this course, the student should be able to:
- Understand the concepts of Artificial Intelligence Applications
- Has the knowledge to build Artificial Intelligence Applications
- Familiar with Computer vision, Natural language processing and Robotics.
- Understand, evaluate and select the most appropriate technique to build Artificial Intelligence Application
Course Outlines:
- Pattern recognition
- Image processing and analysis
- Natural language processing
- Global optimization
- Machine learning
- Knowledge representation
- Social intelligence
- Control theory
- Uncertain reasoning
- Mathematical tools used in AI
- Intelligent User Interfaces
- Robotics
Evaluation Method (Assignments/Tests/Exams):
- 30% – 40% for course work
- 60%-70% for Exams
Textbooks:
- RUSSELL, S. 2009. Artificial Intelligence: A Modern Approach Author: Stuart Russell, Peter Norvig, Publisher: Prentice-Hall.
- POOLE, D. L. & MACKWORTH, A. K. 2010. Artificial Intelligence: foundations of computational agents, Cambridge University Press
Required Further Readings:
- ABRAHAM, A., GUO, H. & LIU, H. 2006. Swarm intelligence: foundations, perspectives, and applications. Swarm Intelligent Systems,3-25.
- YANG, X. S. 2008. Firefly algorithm. Nature-Inspired Metaheuristic Algorithms, 79-90.
- TEODOROVIC, D., DAVIDOVIC, T. & SELMIC, M. 2011. Bee colony optimization: the applications survey. ACM Transactions on Computational Logic, 1529, 3785.
Course Code: ITE07
Course Name: Security in Mobile Adhoc Networks
Credit Hours: 3
Course description
This course is concerned with the security issues in Mobile Adhoc Networks; we assume knowledge of the fundamental concepts of Mobile Adhoc Networks. This course will illustrate the Vulnerabilities of the Mobile Ad Hoc Networks and the Vulnerabilities of the Mobile Ad Hoc Networks Security Requirements in MANETs. The topic of this course will also include Challenges in securing MANETs; Threats in MANETs; Routing security and IPSec & Multicast. This course will end with describing Ongoing Research on Securing MANETs.
Learning Outcomes
At the completion of this course, the student should be able to:
- Understand the basic security concepts of Mobile Adhoc Network
- Has knowledge of MANET vulnerabilities, Threats, and attacks.
- Aware with the techniques used to secure the MANET Networks.
- Know the current research in the field of MANET Security.
Course Outlines
- Challenges in securing MANETs
- Threats in MANETs
- Attacks
- Misbehavior
- Routing security
- Data forwarding security
- Link layer security
- Key management
- Intrusion detection systems (IDSs)
- IPSec & Multicast
- Risk management
- Ongoing Research on Securing MANETs
Evaluation Method (Assignments/Tests/Exams):
- 30% – 40% for course work.
- 60%-70% for Exams
Textbooks:
- Joshi, a. K. 2013. Security in mobile ad hoc networks. Rochester institute of technology.
Required Further Readings
- Carvalho, m. 2008. Security in Mobile Ad hoc Networks. Security & privacy, IEEE, 6, 72-75.
- Datta, r. & marching, n. 2012. Security for Mobile Ad hoc Networks. Handbook on securing cyber-physical critical infrastructure, 147-190.
- WU, B., WU, J., FERNANDEZ, E. B., ILYAS, M. & MAGLIVERAS, S. 2007. Secure and efficient key management in mobile ad hoc networks. Journal of network and computer applications, 30, 937-954.
Course Code: ITE08
Course Name: Advanced Network Administration
Credit Hours: 3
Course description
This course covers the essential knowledge and skills required to successfully administer computer networks. Hands-on using Linux OS will be the main part of the course. Topics covered include network servers and workstation installation, server configuration, profiles and logon scripts, user account management, policies, resource sharing and security, disk management, remote access, backup and recovery, performance monitoring, and network optimization.
Learning Outcomes:
At the completion of this course, the student should be able to:
- Install the Linux operating system, and apply operating system updates, and configuration changes.
- Install and configure network servers and workstations.
- Manage domain controllers, users, and workgroups within the network operating system.
- Perform backups of data
- Perform troubleshooting and basic security of the network operating system.
- Manage remote access features, monitor and optimize network performance
Course Outlines:
- Users account management.
- Resource sharing
- Configuration of network Services
- Manage backup and Recovery Processes.
- Firewall configuration
- Performance monitoring and network optimization.
- Security Concerns and Policy
Evaluation Method (Assignments/Tests/Exams):
30 % Coursework Mark.
70 % final Exam Mark
Textbooks:
- The Practice of System and Network Administration: ISBN-10: 0-321-49266-8
2- Tony Bautt , Linux Network Administrator’s Guide, O’Reilly Media,2005
Required Further Readings:
To be determined by the Instructor.
Course Code: ITE09
Course Name: Advanced Information Security Issues
Credit Hours: 3
Course description:
This course is intended to help students to gain a fundamental and comprehensive understanding of information security. The course provides an overview of major information security issues, technologies, and approaches. Students who successfully complete this course will have a concept and knowledge of security properties, concerns, policies, models, cryptography, PKI, firewalls, security evaluation, and real-life security cases. Students will also have hands-on experience in selected information security technologies through lab sessions.
Learning Outcomes
At the completion of this course, the student should:
- Understand principal concepts, major issues, technologies, and basic approaches in information security.
- Have hands-on experience in the specific topic area.
- Has the ability to examine and analyze information security problems.
Course Outlines:
- The Security in SDLC
- Need for Security, Business Needs
- Threats and Attacks
- Legal, Ethical and Professional Issues
- Risk Management: Identifying and Assessing Risk, Assessing and Controlling Risk
- Information Security Policy, Standards and Practices
- Design of Security Architecture, Planning for Continuity
Security Technology, IDS, Scanning and Analysis Tools.
Textbooks:
- Michael E Whitman and Herbert J Mattord, “Principles of Information Security”, Fourth Edition, Cengage Learning, 2012
- Micki Krause, Harold F. Tipton, “Handbook of Information Security Management”, Vol 1-3 CRC Press LLC, 2004.
- Stuart Mc Clure, Joel Scrambray, George Kurtz, “Hacking Exposed”, Tata McGraw- Hill, 2003.
4.. Matt Bishop, “Computer Security Art and Science”, Pearson/PHI, 2002
Evaluation Method (Assignments/Tests/Exams):
30 % Coursework Mark.
70 % final Exam Mark
Required Further Readings:
To be set by the Instructor.
Course Code: ITE10
Course Name: Mobile Applications
Credit Hours: 3
Course description
This course is concerned with the development of applications on mobile and wireless computing platforms. Android will be used as a basis for teaching programming techniques and design patterns related to the development of mobile applications. Topics will include memory management; user interface design; user interface building; input methods; data handling; network techniques and URL loading; Maps; Sharing data using mobile application; and Publishing mobile applications. Students are expected to work on a project that produces a professional-quality mobile application.
Learning Outcomes
At the completion of this course, the student should be able to:
- Describe the components and structure of a mobile development frameworks (Android SDK and Eclipse Android Development Tools (ADT)) and learn how and when to apply the different components to develop mobile application.
- Design, implement and deploy mobile applications using the Android operating system.
- Performing tasks at all stages of the mobile application development life-cycle.
- Describe the limitations and challenges of working in a mobile and wireless environment
- Integrate database and server-side technologies to provide complete mobile development solutions;
- Understand the impact of user characteristics, device capabilities, networking infrastructure and the deployment environment, on the development of mobile application.
Course Outlines
- Creating and Using Databases Sqlite Database in mobile applications
- Sending SMS Messages Programmatically
- Sending E‑ Mail
- Displaying Maps in mobile applications.
- Navigating to a Specific Location
- Sharing data using mobile application
- Publishing mobile applications
Evaluation Method (Assignments/Tests/Exams):
30 % Coursework Mark.
70 % final Exam Mark
Textbooks:
- Wei-Meng Lee, Beginning Android™ Application Development, Wiley Publishing, 2011.
- M Jones, G Marsden, Mobile interaction design. John Wiley & Sons, 2006
Required Further Readings:
To be determined by the Instructor.
Course Code: ITE11
Course Name: Object-Oriented Analysis and Design
Credit Hours: 3
Course description:
Large-scale software development has been described as one of the most difficult human undertakings. This course examines the reasons for the inherent complexity of software construction and presents structured methods to deal effectively with it. The course will focus on the object-oriented approach to analysis and design. Students will gain an appreciation of the difference between writing programs and doing analysis and design. Problem formulation and decomposition (analysis) and solution building (design) will be covered. Students will work in small groups, each group having the responsibility for the analysis, design, and implementation of a software system. Case tools will be used in several stages of the development process.
Learning Outcomes
At the completion of this course, the student should be able to:
- Develop a working understanding of formal object-oriented analysis and design processes.
- Develop an appreciation for and understanding of the risks inherent to large-scale software development.
- Develop the skills to determine which processes and OOAD techniques should be applied to a given project, and
- Develop an understanding of the application of OOAD practices from a software project management perspective.
Course Outlines
- Software Development Life Cycle (SDLC)
- Requirements Analysis
- Quality Requirements
- Assignment of Project Teams
- More on Requirements Analysis
- Vision and Scope Document
- A case study
- Use Cases
- From Use Cases to Functional Requirements
- Domain Model
- Associations
Evaluation Method (Assignments/Tests/Exams):
30 % Coursework Mark.
70 % final Exam Mark
Textbooks:
Mike O’Docherty, “Object-Oriented Analysis and Design – Understanding System Development with UML 2.0”, John Wiley & Sons Ltd, 2005.
Required Further Readings:
To be set by Instructor
Course Code: ITE12
Course Name: Advanced Software Engineering
Credit Hours: 3
Course description:
This course is designed to present students with an overview of advanced topics in Software Engineering. Students will be exposed to techniques that are gaining increasing attention in the industrial and research communities. Students will apply the software engineering techniques to homework assignments and mini-projects throughout the course. Both individual and group-oriented exercises will be assigned. Class participation is an essential component of the course. Students will have opportunities to develop and/or improve their technical writing and software development skills during the course of the term.
Learning Outcomes
At the completion of this course, the student should:
- Understand of principal concepts, major issues, technologies, and advanced approaches in Software engineering.
- Have hands on experience in specific topic area.
Course Outlines:
- Requirements Engineering
- Object-oriented modeling
- Design strategies
- Design Patterns
- Object-Oriented Frameworks
- Aspect Oriented Programming
- Search-based Software Engineering
- Software Product Lines
- Security
Textbook:
Design Patterns: Elements of Reusable Object-Oriented Software , E. Gamma, R. Helm,
- Johnson, and J. Vlissides, 1995, Addison-Wesley.
Evaluation Method (Assignments/Tests/Exams):
30 % Coursework Mark.
70 % final Exam Mark
Required Further Readings:
To be set by the Instructor.