PROGRAM STRUCTURE REQUIREMENTS FINANCIAL AID FAQ APPLY ONLINE MSCS DEGREE

 

Course Descriptions
M.S. in Computer Science
 

Core Courses:

CS 401 Modern Programming Practices: Current Concepts and Best Practices in Software Development -- Knowledge is the Basis of Action 

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. (2 units)

CS 402 Foundations of Modern Programming:  Modern Programming Methods and Systems -- Capture the Fundamental Principles of Knowledge for Greater Success in all Areas

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. This course cannot be taken for graduate credit, but may be a required prerequisiste for CS 401 for incoming students who do not pass the qualifying exam administered to incoming students.

CS 422 Database Management Systems
Database management systems organize and retrieve information, allowing the user to access the desired information easily and efficiently. Topics in this course include relational, hierarchical, and network data models; query languages; relational calculus, data normalization, and schemes; file organization techniques; data security and integrity; and study of a specific commercial database management system. (4 units) 

CS 424 Fundamentals of Object-Oriented Programming
This course presents the key principles of object-oriented programming. Students will learn how to write reusable and better maintainable software, and they 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. (2 units)

CS 425 Software Engineering 
This course introduces the major principles used in the development of software. General principles and methods are identified, and their application is located in various phases and models of software engineering. The focus is on understanding the organizing power inherent in the underlying concepts, principles, and processes, rather than any particular developmental method or model. Topics include: the nature and qualities of software; types and qualities of specifications; objectives of design; verification approaches; production process models; and classification of supporting tools and environments. (4 units) 

CS 450 Computer Communication Networks 
Computers are connected with high-speed communication lines in local area or wide area networks, for the purpose of sharing databases and distributing workloads to increase efficiency and improve service. Topics include sampling and information theory, error detecting and correction codes, network architecture, communication protocols and models, protocol analysis, hardware components, logical and physical topology, message routing and switching, flow control, local area networks, and data security. (4 units) 

CS 465 Operating Systems
An operating system controls the central resources of the computer system and allocates them to individual users. Course topics include sequential and concurrent processes, mutual exclusion, resource sharing, process cooperation, deadlock, resource allocation, processor scheduling, memory management, segmentation and paging algorithms, timesharing systems, scheduling algorithms, and resource protection. (4 units) 

CS 505 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. (4 units) 

SCI-33 Science of Creative Intelligence
The 33-lesson Science of Creative Intelligence (SCI) course presents the interdisciplinary basis of the entire graduate Computer Science program. The course is based on a series of videotaped lectures by Maharishi Mahesh Yogi on the nature, range, qualities, and principles of creative intelligence (as expressed in human consciousness and the laws of nature studied by the sciences). Maharishi also presents the expressions of creative intelligence in individual life and its application in every area of society to realize the highest potential. Because Computer Science like all other disciplines is based in the intellectual understanding and experience of the structures of Natural Law, the general principles brought out in this course provide a unifying theme for all of the more specific principles studied in all other courses in the curriculum.
          In addition, during this course students learn the Transcendental Meditation Technique, which enlivens these same underlying qualities of intelligence in them, providing increased creativity, alertness, and intelligence as a basis for increased success in every area of study, their profession, and their life.

Other Courses:

CS 435 Algorithms 
This course presents methods for analyzing the efficiency of algorithms as well as a variety of known efficient algorithms. Topics include graph algorithms, combinatorial algorithms, searching and sorting, numerical and arithmetic algorithms, recurrence relations, computing time and space complexity of algorithms, and NP-complete problems. (4 units) 

CS 440 Compiler Construction 
Students learn the successive stages and detailed mechanics by which high-level programming languages are translated into machine language by a compiler. Topics include language and grammar specification, compiler structure, compiler generation tools, lexical analysis, parsing, syntax analysis, semantic analysis, intermediate language, code generation and optimization, storage management and linkages, user interface, and a large programming project implementing part of a compiler. (4 units) 

CS 470 Artificial Intelligence 
The field of artificial intelligence attempts to create computer programs that reflect the values of human intelligence. Course topics include state-space representations, tree and graph searches, predicate calculus and deduction, heuristics, learning and problem solving, natural language processing, expert systems, and programming languages for artificial intelligence. (4 units) 

CS 471 Parallel Programming 
To actualize the potential offered by multi-core processors for improved performance, knowledge of parallel programming techniques is required. Through a series of parallel programming projects, students will gain a new level of programming skill. Specific topics include: data parallelism, multiprocessor architecture, synchronous parallelism, parallel algorithms, OpenMP threading standard, computer clusters, Message-Passing Interface (MPI) standard, communication streams. (4 units) 

CS 501 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. (4 units) 

CS 525 Advanced Software Development: The Structures and Patterns of Software that Embody Knowledge of Good Design
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. (4 units)

CS 545 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. (4 units)

Forest Academy
Forest Academy is a 2-week course which is an opportunity for the students to deepen their understanding of their own personal growth. Topics include skill in action, higher states of consciousness, cultural values, mind and body, creativity, collective consciousness, and world peace.

Note: The academic content of the M.S. in Computer Science program is subject to change.

 

© 2006, Maharishi University of Management. All rights reserved. ® Transcendental Meditation, TM, Maharishi Transcendental Meditation, and Maharishi University of Management are registered or common law trademarks licensed to Maharishi Vedic Education Development Corporation and used under sublicense.