Skip to content
IARSACInternational University

M.S. in Computer Science

GRADUATE PROGRAM

Fall Semester

Course codeTitleHours
CSC 700Foundations of Modern Programming3
CSC 701Modern Programming Methods and Systems3
CSC 711Advanced Computer Architecture3
CSC 712Advanced Programming Languages3
CSC 714Advanced Software Development3
CSC 716Distributed Computing3
CSC 717Distributed Architecture3
CSC 719Practicum in Software Development3

Spring Semester

Course codeTitleHours
CSC 721Hardware, Software, and Troubleshooting Personal Computers3
CSC 723Web-Based Resources in Educational Settings3
CSC 724Networking and Telecommunications in Educational Settings3
CSC 725Image Processing3
CSC 727Computer Graphics3
CSC 728Methods of Optimization3
CSC 729Data Mining3

Summer Classes

Course codeTitleHours
CSC 731Artificial Intelligence3
CSC 734Computer Speech, Music and Images3
CSC 735Computer Networks3
CSC 736Wireless Networks3
CSC 742Computing for Bioinformatics3
CSC 737Advanced Topics in Computer Science3

COURSE DESCRIPTION

CSC 700: Foundations of Modern Programming: Modern Programming Methods and Systems:-

This course presents the fundamental principles of object-oriented programming. Students will learn how to write reusable and better-maintained software, and integrate this knowledge with laboratory assignments and projects. Topics include: Fundamental principles and models of object-oriented programming, UML class diagrams and design principles that promote reusability and maintainability of software. Also studied are stacks, queues, linked lists, and trees, using the Java programming language..

CSC 711: Advanced Computer Architecture:-

This course presents the methods, principles, and metrics of computer systems architecture. The interactions of hardware components, system architecture, and software algorithms are the basis for evaluating the performance and characteristics of a range of advanced computing systems. Topics include pipelined and multiprocessing architecture, parallel processing, distributed processing, case studies, and comparisons of existing systems.

CSC 712: Advanced Programming Languages:-

This course considers advanced topics in programming language design with emphasis on formal methods and abstraction mechanisms. Topics include data and control abstraction, formal specification of syntax and semantics, proofs of program correctness, non-deterministic programming, advanced control structures, and study of specific languages.

CSC 714: Advanced Software Development:-

This course considers the current methods and practices for good design of software systems. Topics include: software design patterns, frameworks, architectures, and designing systems to apply these multi-level abstractions.

CSC 716: Distributed Computing:-

This course studies the issues, methods, and techniques for creating multi-computing distributed systems across networked or more tightly coupled interconnect systems. Topics include communication, protocol, and synchronization, performance, and the architecture of server, client/server, multi-tier, and mobile agent distributed object systems. Software issues of portability, extendibility, and interpretability are also studied.

CSC 717: Distributed Architecture:-

This course will focus on enterprise architecture principles, patterns and design considerations. We will investigate how to implement an object model in a distributed application environment using distributed technologies such Enterprise JavaBeans (EJB) and see how such technologies allow us to build robust and scalable enterprise applications that include object persistence, remote accessibility, security, transactions etc.

CSC 719: Practicum in Software Development:-

In this practicum course, students perform computer-related tasks in a technical

professional position. The tasks performed may be in the design and development of new systems or the application of existing systems for specific purposes. Practicum job descriptions are formulated by the employer and the student, and require approval in advance by one of the graduate faculty of the department, in consultation with the practicum supervisor where the student is placed.

CSC 721: Hardware, Software, and Troubleshooting Personal Computers:-

An introduction to the installation, maintenance, troubleshooting, upgrading, simple repair, and management of personal computers found in educational settings. This course will provide numerous laboratory experiences providing hands-on experience with the goal of enabling students to support personal computer laboratories found in PK-12 schools.

CSC 723: Web-Based Resources in Educational Settings

An introduction to the design, implementation, and management of World Wide Web resources over the Internet and Intranet networks. Topics include Internet overview, web authoring, web programming, server setting and maintenance. The objective of the course is to know tools (HTML, JavaScript, and Java applets, and Internet Server software, and Navigator/Internet Explorer software packages), and their applicability in WWW design and management in PK-12 school settings.

CSC 724: 610 Networking and Telecommunications in Educational Settings:-

An introduction to networking and data communications from an educator's perspective. The course will examine the necessary computer hardware, software, and personnel resources relevant to networking and data communication requirements in various educational settings. Local Area Networks, Wide Area Networks, Network Interconnections, and the Internet will be addressed.

CSC 725: Image Processing:-

The subject that will be covered are- Fundamentals of digital imaging, Image enhancement in the spatial domain (e.g., contrast brightness and gray level transformations, histogram and its equalization, spatial filtering: blurring, sharpening, median), Image enhancement in frequency domain (Fourier transform, convolution theorem, filtering in frequency domain), Image restoration (from blur and noise), Color spaces, color processing, morphological image processing, image segmentation (including edge detection, Hough transform, segmentation by thresholding, by split-and-merge and by watershed), Image compression-main structure of JPEG and MPEG, some on pattern recognition. Also- learning to work with MATLAB language.

CSC 727: Computer Graphics:-

An introduction to computer graphics, with an emphasis on application programming. Algorithms for two dimensional graphics, including windowing, clipping, and transformations; algorithms for three dimensional graphics, including viewing, transformations, and removal of hidden lines and surfaces. Data structures for graphics and interactive techniques will be stressed.

CSC 728: Methods of Optimization:-

Convex sets, classical optimization of functions, constrained optimiution, search techniques, linear and nonlinear optimization, applications to applied problems.

CSC 729: Data Mining:-

This course studies the emerging technology of data mining - the automated extraction of patterns and information from data. The focus will be on understanding the algorithms underlying data mining and on the practical use of those algorithms. Students will use data mining software to analyze collections of data.

CSC 731: Artificial Intelligence:-

Techniques of artificial intelligence, including study of expert systems, natural language processing, search strategies, computer vision and robotics.

CSC 734: Computer Speech, Music and Images:-

This is an applied course focusing on the technical aspects of computer-based multimedia-speech, music, audio, and video. In any given semester, the focus may be more on audio or image processing, or it may be equally balanced between the two. Topics include multimedia data capture and representation, methods of data compression, multimedia information retrieval, and multimedia standards.

CSC 735: Computer Networks:-

An introduction to the theory, concepts and techniques upon which modern computer networks and telecommunication systems are based. The emphasis will be on layered network architectures, the design frameworks for both local and wide area networks and communication protocols.

CSC 736: Wireless Networks:-

An introduction to the fundamental theory, concepts and techniques of wireless communication, wireless networks, network architecture, and wireless applications. Students will gain an understanding of the significance that wireless systems and user mobility have on the construction and handling of a data or telecommunications network. Topics include wireless and ad hoc networks, enabling technologies, multiplexing, protocol design, network security, and quality of service.

CSC 742: Computing for Bioinformatics:-

This course focuses on computational techniques used in bioinformatics. Topics will include nucleotide and amino acid data representation, sequence alignment, coding sequence prediction, and use of statistical models. Students will learn to use bioinformatics libraries with a script language such as Python or Perl.

CSC 737: Advanced Topics in Computer Science:-

Detailed consideration of advanced topics in the field of Computer Science. Topics will change, and this course may be repeated with differing topics.