|
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. |