Courses


CMS 101 : Introduction to Computer Science (6 credits)

Prerequisite: NONE

Students are introduced to the evolution of computers, the components of a computer system, computer hardware and software, data communications, fundamentals and functions of the Internet.

CMS 105: Fundamentals of Computer Programming (6 credits)

Prerequisite: CMS 101 

Introduction to principles of programming and procedural thinking. Procedural abstraction, data abstraction, modularity, object-oriented programming. Uses the Scheme programming language and computer facilities. Substantial programming assignments, including numerical and symbolic programs.

 CMS 112: Information Technology Essentials (CISCO course) (6 credits)

Prerequisite: CMS 101

Students learn the functionality of hardware and software components as well as suggested best practices in maintenance and safety issues. The students, through hands-on activities and labs, will learn to assemble and configure a computer, install operating systems and software, and troubleshoot hardware and software problems. In addition, an introduction to networking is included in this course

 CMS 115: Systems Programming (6 credits)

Prerequisite: CMS 101 

Introductory course on assembly language and operating systems fundamentals. Number systems, machine language, and assembly language. Procedure calls, stacks, interrupts, and traps. Assemblers, linkers, and loaders. Operating systems concepts: processes and process management, input/output (I/O) programming, memory management, file systems.

 

CMS 202: Computer Applications in Engineering (6 credits)

Prerequisite: CMS 101

A practical course on computer applications as a problem-solving tool in engineering. Topics include word processing, electronic spreadsheets, database management, graphics and telecommunication.

 

CMS 204: C Programming Language (8 credits)

Prerequisite: CMS 101 

Input output, variable types, operators, statements, arrays, functions, pointers, structures, macros, and advanced functions. Algorithmic, procedural program solving. 

 

CMS 208: Mathematical Foundation of Computer Science (6 credits)

Prerequisite: CMS 105 

Basic concepts of finite and structural mathematics. Sets, axiomatic systems, the propositional and predicate calculi, and graph theory. Application to computer science: sequential machines, formal grammars, and software design. 

 

CMS 213: Data Analysis and Measurement (6 credits)

Prerequisite: EENG 302

Students are introduced to the practical aspects of random data analysis and measurement procedures. Statistical properties of random data, correlation, spectral density, input/output relationships, statistical errors, coherence functions, data acquisition, and processing techniques.

 

CMS 215: Data Structures (6 credits)

Prerequisite: CMS 204

Primitive data structures . Arrays. Stacks. Queues. Sequential storage allocation. Concept of linking. Trees, graphs. Application of data structures.

 

CMS 218: Data Structures and Algorithms (8 credits)

Prerequisite: CMS 215

Graphs. Advance sorting. Hashing. Heap structures. Search structures. Complexity. Parallel algorithms. File organization.

 

CMS 221: Computer Based Information Processing (6 credits)

Prerequisite: CMS 101 

The evolution of computers. The components of a computer system: the central processing unit, input, output and auxiliary storage devices. File organization. Data communications. Operating Systems. System analysis and design. Data base management systems. Data representation and processing, application software including word processing, electronic spreadsheets.


CMS 230: Internet Programming (6 credits)

Prerequisite: CMS 105 

Overview of the Internet and World Wide Web tools and resources, Internet utilities, multimedia, and security issues. Students will gain considerable hand-on experience in Internet Hypertext Markup Language (HTML). Applets and in a scripting language such as Java Script. 

 

CMS 280: CISCO Certificate Network Administrator 1 (CCNA 1) (6 credits)

Prerequisite: CMS 202

This course provides an in-depth knowledge of data communications and networking requirements, including networking and telecommunications technologies, hardware, and software. Emphasis is on the analysis and design of networking applications in organizations. Management of telecommunications networks, cost-benefit analysis, and evaluation of connectivity options. Students learn to evaluate, select, and implement different communications options.

 

CMS 290: CISCO Certificate Network Administrator 2 (CCNA 2) (6 credits)

Prerequisite: CMS 280

This course provides students with classroom and laboratory experience in current and emerging networking technology that will empower them to enter employment or further education and training in the computer networking field. A task analysis of current industry standards and occupational analysis was used to develop the content. CCNA 2 focuses on initial router configuration, Cisco IOS software management, routing protocol configuration, TCP/IP, and access control lists (ACLs). Students will develop skills on how to configure a router, manage Cisco IOS software, configure routing protocols, and create access lists controlling access to the router.

 

CMS 301: Operating Systems (6 credits)

Prerequisite: CMS 101, CMS 202 

An introduction to the major concept areas and techniques of designing and implementing operating systems. Multitasking operating systems with special emphasis on UNIX.

 

CMS 303: Digital Logic (8 credits)

Prerequisite: EENG 302

Introduction to digital systems. Sequential and non-sequential logic as applied to computer hardware including circuits and basic computer organization.

 

 

CMS 307: Logic Design of Digital Systems (8 credits)

Prerequisite: EENG 302 

Specification and implementation of combinational and sequential systems. Standard logic modules and programmable logic arrays. Specification and implementation of algorithmic systems: data and control sections. Number systems and arithmetic algorithms. Error control codes for digital information.

 

CMS 308: Computer Architecture and Organization (6 credits)

Prerequisite: CMS 307 

Computer instructions; timing and control; execution of instructions; I/O and interrupt; Central processor organization; bus concept; data transfer and manipulation; central memory; address sequencing; micro program sequence; arithmetic processor design; I/O organization; peripheral devices; I/O interface; direct memory access; multiprocessor system organization; data communication processors; auxiliary memory; virtual memory; cache memory and memory management.

 

CMS 309: Computer Networks and Communications (6 credits)

Prerequisite: CMS 202, CMS 218

This course introduces the underlying concepts and principles of computer networks. It presents the different components of a network and how these components fit together. The course emphasizes the design and implementation of network software that transforms raw hardware into a richly functional communication system. Real networks (such as the Internet, ATM, Ethernet, Token Ring) are used as examples to reinforce the concepts and demonstrate various protocols.

 

CMS 314: Information Management (8 credits)

Prerequisite: CMS 218

Theoretical models for information representation, storage, and processing. Analysis, design, implementation, and management of organizational information resources, such as operational databases, data warehouses, and knowledge management systems.

 

CMS 316: Database Management Systems (6 credits)

Prerequisite: CMS 218

Emphasizes concepts and structures necessary to design and implement a Database

Management System. File organization, relational model and relational database systems. SQL, Oracle and other data management approaches. Database design principles. Selected topics such as distributed databases, object-oriented databases, real-time databases, and multimedia databases will be discussed.

 

CMS 321: Operations Research (6 credits)

Prerequisite: CMS 101, CMS 105 

Linear Programming, the transportation problem. Nonlinear programming. Integer programming. 

 

CMS 336: Design and Analysis of Algorithms (6 credits)

Prerequisite: CMS 218 

Analysis techniques, solving recurrence equations. Algorithm design techniques: divide and conquer, the greedily method, backtracking, branch- and-bound, and dynamic programming. Sorting and selection algorithms, order statistics, heaps, and priority queues. 

 

CMS 345: Microprocessors and Microcomputers (6 credits)

Prerequisite: CMS 307 

Introduction to microprocessors and microcomputer architecture. Arithmetic logic unit structure. Assembly language programming. Timers and interrupts. Parallel and serial input/output programming. 

 

CMS 350: Computer Graphics (6 credits)

Prerequisite: CMS 204 

Graphical hardware, point and line plotting displays, display processors, display file compilers, two and three-dimensional representations and transformations, interactive techniques. 

 

CMS 415: Artificial Intelligence (6 credits)

Prerequisite: CMS 316 

This course introduces students to the basic principles of artificial intelligence. Course covers problem solving, search strategies, knowledge representation and reasoning and learning methods of artificial intelligence. Natural language processing, expert systems, computer vision and robotics will also be explored.

 

 

CMS 417: Intelligent Information Systems (6 credits)

Prerequisite: CMS 316 

Data and knowledge representation, queries processing, information retrieval. Fuzzy query processing. Intelligent Database Systems and Knowledge-based systems.

 

CMS 420: Object-oriented Programming Languages (8 credits)

Prerequisite: CMS 204, CMS 215

Introduction to object-oriented programming languages. Programming with C++, Java.

 

CMS 425: Soft Computing (6 credits)

Prerequisite: CMS 204, CMS 316

This course provides an introduction to the basic concepts of Soft Computing methodology and covers three main components : Fuzzy Logic, Neural Networks, and Evolutionary Computation. The course combines theoretical foundations with practical applications using different tools and techniques.

 

CMS 430: Software Engineering (6 credits)

Prerequisite: CMS 420

Structured programming, program specification, program proving, modularity, abstract data types, composite design, software tools, software control systems, program testing, team programming.

 

CMS 445: Information Systems Engineering (6 credits)

Prerequisite: CMS 314

Planning and estimation. Risk analysis and management. Specification Techniques. Process modeling. Measurement and evaluation. Information systems development methodologies. A comparative survey. Case Technology in information systems development.

 

CMS 450: Web Design and Development (8 credits)

Prerequisite: CMS 230, CMS 336

Analysis, design, construction and implementation of Web based and client-server systems. Client-server and Web testing, client-server and Web technology architecture, support services, Web database application design and programming.

 

CMS 470: Summer Practice (6Credits)

Summer Practice gives students a chance to put their theoretical educations into practice in the real world situations.  Students observe the computer system and the software developed and used in the leading IT industries in the country and  gain practical skills.

 

CMS 501: Artificial Intelligence Programming (6 credits)

Prerequisite: CMS 415

Introduction to tools, techniques, and issues in artificial intelligence programming. Functional programming for artificial intelligence applications. Review of LISP and introduction to lexically scoped LISPs. Lambda calculus, closures, data-driven and object-oriented programming, flavors, d-nets, resolution-based deductive systems. Techniques of logic programming. Artificial intelligence programming languages and artificial intelligence features.

 

CMS 502: Intelligent Systems (6 credits)

Prerequisite: CMS 415

Basic elements of Intelligent Systems (IS). Knowledge representation. Production rules, semantic networks, frames, logical models, scripts. IS design problem, design resources. IS design stages, identification, conceptualization, formation, design, testing and exploration. Program means and technical means for IS design. Expert system shells. Expert systems with VP-Expert.

 

CMS 503: Expert Systems (6 credits)

Prerequisite: CMS 415, CMS 425

The main structure and functions of expert systems. Knowledge acquisition and verification. Knowledge base module. Fuzzy reasoning. Fuzzy expert systems. Confidence degree and its estimation in expert systems. Hybrid and distributed expert systems.

 

CMS 505: Fuzzy Logic (6 credits)

Prerequisite: CMS 425

In-depth study of fuzzy logic and fuzzy sets, their operations and related theorems. Application of these principles in practical areas such as pattern recognition, controllers and image processing.

 

CMS 507: Decision Science Foundations (6 credits)

Prerequisite: CMS 202, CMS 321

Introduction to Decision Sciences. Exploratory Data Analysis. Multiple Regression Analysis. Models and Models Building. Decision Support Systems. Optimization Modeling: Static workforce scheduling, Blending Models, Logistics Models, Aggregate Planning Models, a dynamic Financial Model, Integer Programming Models, Nonlinear Models. Simulation Models: Monte-Carlo Simulation, Spreadsheet simulation, Risk Analysis, Decision-Making under uncertainty.

 

CMS 510: Neural Networks (6 credits)

Prerequisite: CMS 309, CMS 415

Ordinary and fuzzy neuron models. Forms of membership functions. Hierarchical neural networks. Feedforward and feedback network. Single-layer and multi-layer network. Fuzzy min-max neural networks. Learning in fuzzy-sets neural networks.

 

CMS 512: Pattern Recognition (6 credits)

Prerequisite: CMS 321, CMS 415

The extraction features from data and obtaining images. Classification images. Break on clusters. Decision function. Pattern classifiers. Perception algorithm. Training set. Stochastic and adaptive learning algorithms for recognition.

 

CMS 515: Distributed Intelligent Systems (6 credits)

Prerequisite: CMS 309, CMS 417

Solving of global problem depends on its local subtasks performing. Distributed Intelligent Systems (DIS) architecture: control network and hierarchical network. Intelligent systems interaction organization in DIS: Direct connection and non-direct connection. Coordination of DIS.

 

CMS 517: Hybrid Intelligent Systems (6 credits)

Prerequisite: CMS 415, CMS 425

Neuro-fuzzy identification model of fuzzy systems. Neuro-fuzzy identifiers and controllers for fuzzy systems. Fuzzy neural network approach to control systems. Direct fuzzification of neural network. A learning method of fuzzy inference rules with neural networks.

 

CMS 520: Advanced Topics in Internet Research (6 credits)

Prerequisite: CMS 309, CMS 450

Overview of Internet development history and fundamental principles underlying TCP/IP protocol design. Discussion of current research topics, including multicast routing protocols, multicast transport protocols (e.g., real-time, transport protocol, RTR, and SRM), support for integrated services. World Wide Web, multimedia applications on Internet. Fundamental issues in network protocol design and implementations.

 

CMS 521: Advanced Computer Networks (6 credits)

Prerequisite: CMS 309, CMS 450

Review of seven-layer ISO-OSI model. High-speed networks: LANs, MANs, ATM. Flow and congestion control; bandwidth allocation. Internetting.

 

CMS 522: Network Programming (6 credits)

Prerequisite: CMS 309, CMS 450

Fundamentals of computer communications and OSI lower level protocols. Higher level protocols: transport, session, presentation and application layers. Introduction to formal techniques for protocol specification, verification and testing. The protocols IPX, SPX, TCP/IP, NetBEUI and usage them in application programs. Network programming in high-level languages. Remote procedure calls and it programming.

 

CMS 524: Advanced Computer Architecture (6 credits)

Prerequisite: CMS 308

An advanced treatment of computer architecture covering new technological developments, including details of multiprocessor systems and specialized machines. Special emphasis will be devoted to new concepts such as data flow machines, higher level language processor and associative processors.

 

CMS 526: Knowledge Engineering (6 credits)

Prerequisite: CMS 105, CMS 415

Basic Concepts and techniques. Knowledge representation. Drawing inferences. Tools and languages for expert systems. Knowledge engineering and expert systems development. Knowledge acquisition. Current expert system applications.

 

 

CMS 530: Advanced Computer Graphics (6 credits)

Prerequisite: CMS 350

Transformational geometry, standard graphics systems. Splines and interpolation, visible surface algorithms. Hidden surface models, rendering of various surface types. Shading techniques.

 

CMS 535: Multimedia Systems (6 credits)

Prerequisite: CMS 350, CMS 420

Hardware and software of multimedia systems, graphics, audio, video, animation. General aspects of multimedia systems components programming in high level languages; Animating articulated 3D models, procedural animation, particle systems, Fourier synthesis of fractals, water waves, clouds turbulence, and flames, slide presentation, creating movie files. The international standards of multimedia systems – Moving Pictures Expert Groups (MPEG-1 – MPEG-7). Using Macromedia Flash for creating AVI files.

 

CMS 540: Pictorial and Multimedia Database Systems (6 credits)

Prerequisite: CMS 316, CMS 535

Pictorial and multimedia information system requirements. Data models and accessing; alternatives. Database systems. Visual languages and communication. Hypertext. Database design and organization, logical and physical design. Database heterogeneity and distribution. Other topics at discretion of instructor.

 

CMS 543: Distributed Database Systems (6 credits)

Prerequisite: CMS 316, CMS 540

File allocation, intelligent directory design, transaction management, deadlock, strong and weak concurrency control, commit protocols, multi-database systems, fault recovery techniques, network partitioning, examples, trade-off, and design experiences.

 

CMS 545: Programming Languages (6 credits)

Prerequisite: CMS 430

Fundamental concepts underlying all programming languages; semantic aspects, including binding times, visibility, retention, storage management, abstraction mechanisms and extensibility; operational and denotational semantic specifica­tions; and design and implementation issues, particularly for very high-level languages, including data representations, control regimes, code representations, and portability.

 

CMS 548: Advanced Object-Oriented Programming Languages (6 credits)

Prerequisite: CMS 420

The course focuses on object-oriented programming concepts and design, algorithms, problem formulation, structured programming, variables, primitive and abstract data types, data structures, file I/O and string manipulation, sorting and searching, control structures and standard algorithms, arrays, and recursion. This course uses high-level block-structured and object-oriented programming languages.

 

CMS 550: Advanced Software Engineering (6 credits)

Prerequisite: CMS 420, CMS 430

Methods and tools for software development, testing, and delivery. Emphasis on data abstraction and reusable components. Students working in teams implement a significant software product, including design documents, user’s guide, and process reports.

 

CMS 555: Advanced Data Structures (6 credits)

Prerequisite: CMS 215

Advanced treatment of various data structures with applications to searching, image processing, and computational geometry, multi-dimensional data structures, dynamization of data structures, spatial data structures, data structures in parallel and distributed environments.

 

CMS 560: Computer Methods of Data Analysis and Model Formation (6 credits)

Prerequisite: CMS 316

Techniques of using computers to interpret, summarize, and form theories of empirical observations. Mathematical analysis of trade-off between computational complexity, storage requirements, and precision of computerized models.

 

CMS 563: Digital Processing of Engineering and Statistical Data (6 credits)

Prerequisite: CMS 321

Computer methods for processing engineering and statistical data. Algorithms to evaluate recursive filter functions, Fourier series, power spectral, analysis correlation computations, and statistical testing.

 

CMS 570: Theory of Program Structure (6 credits)

Prerequisite: CMS 430

Models of computer programs and their syntax and semantics; emphasis on programs and recursion schemes; equivalence, optimization, correctness, and translatability of programs; expressive power of program constructs and data structures; selected current topics.

 

CMS 580: Software Engineering Systems (6 credits)

Prerequisite: CMS 430

Methodologies and computer-based systems for the design and construction of assuredly-correct systems of programs. Structured design; structured programming; computer-assisted software engineering. Theoretical foundations and current research.

 

CMS 583: Principles of Computer-Aided Design Systems (6 credits)

Prerequisite: CMS 350, CMS 530

Comprehensive introduction to the field of computer-aided design systems. Theory and wide range of applications.

 

CMS 590: Special Topics in Computer Science (6 credits)

Courses not listed in the catalogue are given as Special Topics courses. Contents vary from year to year according to interest of students and instructor in charge. Courses include various computer science topics.

 

CMS 600: MS Thesis (6 credits)

Scientific-research work. Individual investigation of the theme to be arranged with supervisor. The results of the work should be presented in the form of thesis.

 

CMS 610: Advanced Intelligent Systems (6 credits)

Prerequisite: CMS 415, CMS 502

This course is a practical course, which introduce students with a set of tools for analysis and design of Intelligent Systems. Intelligent Systems Development. Applied Artificial Intelligence Systems. Data Mining. Language understanding. Image understanding. Speech recognition. Intelligent agents.

 

 

CMS 620: Modeling and Business Decision Analysis (6 credits)

Prerequisite: CMS 507

This course covers modeling techniques and analysis for making decision in business. Model building. Decision structure. Decision making. Decision modeling. Types of Decision Models. Developing Decision Models.

 

CMS 630: Advanced Neural Networks (6 credits)

Prerequisite: CMS 425, CMS 510

This course is a practical course on Neural Networks. Architecture of Neural Networks. Neural Networks Learning Algorithms. Supervised Learning. Reinforcement Learning. Unsupervised Learning. Back-Propagation Algorithm. Applications of Neural Networks.

 

CMS 635: Time Series Forecasting (6 credits)

Prerequisite: CMS 507

This course covers time series models and includes practical examples on forecasting using time series models. Time Series Components. Time Series Decomposition. Trend Analysis. Least Squares Method. Seasonality Analysis.

 

CMS 640: Fuzzy Logic and Systems (6 credits)

Prerequisite: CMS 425, CMS 505

This course is a practical   course, which introduce students Fuzzy Logic and Systems. Fuzzy Sets and Membership Functions. Fuzzy Numbers. Fuzzy Relation and Composition. Fuzzy Inference Systems. Applications of Fuzzy Logic.

 

CMS 646: Advanced Network Security Systems (6 credits)

Prerequisite: CMS 521

The course consider the overall security processes and systems with particular emphasis on hands-on skills in the areas of security policy, security technologies, firewall and secure router design, AAA implementation, intrusion detection (IDS) implementation and VPN implementation.

 

CMS 650: Risk Analysis and Assessments (6 credits)

Prerequisite: CMS 507

The course covers advanced methods and techniques of risk analysis and assessments. Financial risks. Risk in Business. Methods in Risk Analysis. Risk Assessment. Risk Management. Risk Analysis and Assessment models. Model selection methodology.

 

CMS 654: Econometric Analysis in Engineering (6 credits)

Prerequisite: CMS 507

This course covers advanced methods and techniques of econometric analysis. Econometric analysis. Regression analysis. Linear regression. Multiple linear regression. Nonlinear regression. Least squares.

 

CMS 660: Advanced Knowledge Engineering (6 credits)

Prerequisite: CMS 526

This course is a practical course, which introduce students with Knowledge Engineering. Knowledge Based Systems. Knowledge Acquisition and Validation. Knowledge Representation Models.

 

CMS 665: Genetic Algorithms (6 credits)

Prerequisite: CMS 425

This course focuses on the evolutionary computation and applications of genetic algorithms. Evolutionary Computation. Genetic Algorithms. Computation Models. Selection. Search Operators. Evolutionary Algorithm. Fitness Evaluation. Population Structure.

 

CMS 670: Data Analysis and Model Formation (6 credits)

Prerequisite: CMS 507

This course is a practical course, which introduces students with data analysis models. Models and model formation. Optimization models. Simulation models. Sensitivity Analysis. Multiple Regression Analysis. Decision making under uncertainty. Decision Trees. Decision Support Systems.

 

CMS 680: Modern Problems of Computer Engineering (6 credits)

Prerequisite: CMS 520, CMS 550

The course focuses on the modern problems of information technology, data mining, database design, website design, multimedia systems, electronic commerce.

 

 

CMS 700: Ph.D. Dissertation (24 credits)

Program of research leading to PhD degree, arranged between a student and the faculty member. Student register to this course in all semesters starting from the beginning of their second semester but not later than the beginning of the third semester while the research program or write-up of the dissertation is in progress.