Master of Science in Computer Science
English
Courses
Common Core
ENG510Advanced Academic English
2 credits
This course is designed for graduate students working on their thesis. It gives them the opportunity to enhance their writing abilities and develop their critical thinking. It attempts to help students achieve greater competency in reading, writing, reflection, and discussion emphasizing the responsibilities of written inquiry and structured reasoning. Students are expected to investigate questions that are at issue for themselves and their audience and for which they do not already have answers. In other words, this course should help students write about what they have learned through their research rather than simply write an argument supporting one side of an issue or another.
CSC530Advanced Database Systems
3 credits
Advanced topics in the area of database management: query processing, translation into relational algebra, operations algorithms, query optimization, heuristics and cost estimation, transaction processing, concepts and theory, transactions properties, schedules serializability, transaction support, concurrency control issues and techniques, crash recovery techniques, handling the buffer pool, the WAL protocol and the ARIES algorithm, WEB databases, intranets and extranets problems, middleware, and data security . This course includes a project and a synthesis paper.
FSC600Research Methodology
1 credits
The objective of the course is to introduce students to scientific research. Topics to be covered are: interest and research objectives; methodologies used in scientific research; how to define a problem; data collection; documentary research; analysis of the collected knowledge; structure of a Master thesis; writing a report; writing the bibliography; making a scientific poster; and how to approach giving an oral presentation.
CSC500Software Engineering
3 credits
This course is the presentation of the software engineering principles, methodologies and metrics. The topics of software engineering management, process and quality are presented in an integrative approach, stressing software improvements through measurements of software products and processes. Additional topics covered include system and software writing requirements, formal specification analysis, formal description reasoning, models of standard paradigms, and translations of such models into formal notations. The Unified Modeling Language (UML) is explained and used throughout the course. New topics are also covered such as Object Oriented and software reuse. In brief, the goal of this course is twofold: (1) it presents the evolution of software engineering techniques; (2) it provides an overview for further research in the domain.
CSC601Special Topics in C. Sc. - I
1 credits | Pre-requisite: FSC600 Or SCF600
Topics selected from recent literature on computer science are studied in depth. Students will participate in a series of conferences presented by experts.
CSC602Special Topics in C. Sc. - II
1 credits | Pre-requisite: CSC601
Topics selected from recent literature on computer science are studied in depth. Students will participate in a series of conferences presented by experts.
CSC603Tutorial in Computer Science
1 credits | Pre-requisite: CSC601
Topics selected from recent literature on computer science are studied in depth. Students will be responsible to present selected topics of the current scientific literature. They will be graded on relevance, critical analysis and presentation.
Specialization
CSC521Artificial Intelligence
3 credits
This course covers the theory and applications of knowledgebased systems. Topics include algorithmic models of problem solving, knowledge representation, reasoning, planning, decision-making, machine learning, perception, action, communication, and interaction. There is also a review of applications such as intelligent tutoring and multiagent systems.
CSC632Data Warehousing
3 credits
This course presents in detail the concepts of data warehousing. It introduces the different architectural issues for a data warehouse and data marts. It explains the different design levels used for creating a data warehouse, such as the multidimensional design, the physical data warehouse design and the extraction, transformation and loading phases. Additionally, the course covers the OLAP tools as well as the extension of the SQL language, and the MDX language to support data warehouse creation and manipulation.
CSC630Distributed Database Systems
3 credits
This course provides an in-depth discussion of the concepts and design principles used in distributed database systems. It covers the architectural foundations of distributed database management systems topics as well as the application and the system level topics. Application level topics include distributed database design models in addition to the fragmentation, replication, and allocation techniques. System level topics include query processing, query optimization algorithms, transaction management, reliability protocols, concurrency control, type of failures and recovery in distributed database systems.
CSC560Information System Security
3 credits
This course provides an overview of the issues and potential solutions related to the security of information systems. We look at aspects of the governance of security, risk management, evaluation of operational safety management and also technologies that achieve security services.
Specialization - Electives
CSC522Advanced Computer Networks
3 credits
Advanced topics in computer communication networks reflecting current advances in research and applications in this area. Topics include: TCP/IP technology, routing protocols and algorithms, multicast, MPLS, Virtual Private Networks (VPN), Quality of Service (QoS), Voice over IP (VoIP), P2P networks, and wireless LAN.
CSC634Data Mining
3 credits
Students will study data mining techniques, data mining tools, data visualization, and parallel data mining models. The techniques will include the application of well-known statistical, machine learning and database algorithms including decision trees, similarity measures, regression, Bayes’ theorem, nearest neighbor, neural networks and genetic algorithms.
CSC635Database System Administration
3 credits
This course looks at advanced database administration. Subjects covered include: tasks of the database administrator; identification of various components of the Oracle architecture; managing parameter files; managing tablespaces; storage structure and relationships; creation of database; managing tables, indexes, profiles, roles, and users; managing privileges; managing password security and resources; backup; recovery; fine tuning of the database; auditing and security of the database. Students are able to develop an understanding of the internal structures and organization of a given database using Oracle10G Database Administrator, as well as applying all the features of the planning, tuning, monitoring, security, backup and recovery.
CSC570Multimedia and Computing Systems
3 credits
The convergence of computing, communications and display technologies has led to interest in the processing of multiple data types. The integration of text, sound, images, and video in modern presentations requires compression, synchronization, database, and communication methods. This course covers the stateoftheart technology for multimedia computing. The course topics will cover current media types, images, video, audio, graphics and 3D models in terms of algorithms and data structures for their capture, representation, creation, storage, archival, transmission, assembling, presentation and retrieval.
CSC540Network Management and Security
3 credits
This course addresses the issues of network management and security. It covers network management topics such as definition of network management, network management protocol SNMP, MIB, SMI and RMON as well as network security topics such as security attacks and services, cryptography, network security applications and system security.
CSC655Server Configuration and Administration
3 credits
This course will provide students with an indepth knowledge of server administration and configuration. The material will cover system configuration (files system, file sharing), network services (DNS, Mail, Web, DHCP, FTP, SSH, RAS), installation, configuration and administration of these services, how to manage users and hosting accounts, automating user account management, security issues, and troubleshooting. Handson experience through labs and projects will reinforce the reading. This course will teach students how to perform advanced administration tasks on Linux/Windows Enterprise Server: installation and manual configuration, performance tuning, backup and recovery services, studying of Microsoft Windows Active Directory (administrative tasks required to centrally manage large numbers of users and computers, multiple domains).
Capstone
CSC697AMaster Thesis
6 credits | Pre-requisite: SCF600 Or FSC600 Or INF600
Students must complete a research thesis in computer science. They are expected to realize a research work in the laboratory, submit a written report and give an oral presentation. Their work needs to be supported by simulation or implementation.
Mission
The mission of the department of computer science is to graduate undergraduate and graduate students that excel in the field of computing, networking, and database design, creation and management. This is fulfilled through comprehensive educational programs and research and development.
Program Educational Objectives
1. Graduates will be ready for advanced careers in computer science and networking, and related fields, as well as further graduate study.
2. Graduates will provide full solutions for software problems from system design to solution development. They will be committed to lifelong learning.
3. Graduates will have the ability to function and communicate effectively as ethically and socially responsible computer science professionals.
Program Outcomes
a. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
b. An ability to design, implement, and evaluate a computerbased system, component, or program to meet desired needs.
c. An ability to function effectively on teams to accomplish a common goal.
d. An understanding of professional, ethical, legal, security and social issues and responsibilities.
e. An ability to communicate effectively with a range of audiences.
f. Recognition of the need for and an ability to engage in continuing professional development.
g. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modelling and design of computerbased systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.