MU Catalog » Course descriptions » Undergraduate »
CS 106 Programming on the Web in Java Script (3)
This course provides an introduction to programming on the Web, focusing on client-side programming using JavaScript and on server-side CGI programming such as Perl scripts. Prerequisites: CIS 102 or equivalent experience in HTML and Web design.
CS 110 Programming I in Java (4)
A first course in programming for Computer Science majors and others with a serious interest in programming. Provides an introduction to techniques of problem solving, algorithm development, and object-oriented software development in Java. This course provides the foundation for further study in Computer Science. Prerequisite: MA 100B or above, or consent of the instructor.
CS 111 Programming II in Java (4)
A continuation of CS 110. Topics include advanced object-oriented programming, UML, and data structures such as linked lists, stacks, queues, and trees. Prerequisite: A grade of C- or better in CS 110.
CS 150 The UNIX Operating System (3)
Offers a thorough study of the UNIX operating system. The course examines UNIX tools, the UNIX file system, shell programming, text editing, filters, pipes, macro processing, data analysis, text processing, and document maintenance. Prerequisite: a grade of C- or better in CS 110 or CIS 120.
CS 160 Microcomputer Architecture and Hardware (3)
Examines the various hardware components of typical microcomputers. Students will explore performance characteristics of various microcomputer configurations, both hardware and software. Prerequisites: a grade of C- or better in CS 110 or CIS 120.
CS 170 Local Area Networks (3)
An examination of the technical problems in establishing and managing a typical local area network. The course examines a particular network implementation as well as generic aspects of such networks. Prerequisites: a grade of C or better in CS 111 and MA 150, or consent of instructor.
CS 180 Programming in C++ (3)
An introduction to the C++ language using the UNIX operating system. The course emphasizes special features of C++ and their influence on program development. Prerequisite: a grade of C- or better in CS 110 or consent of instructor.
CS 210 The Structure of Programming Languages (3)
An introductory study of language development and a survey of the major programming paradigms. Attention is paid to variable types, sequence control, recursive subprograms, concurrent execution, parameter passing and scope, and storage management. Prerequisites: a grade of C- or better in CS 111 and MA 150, or consent of instructor.
CS 220 Data Structures and Algorithms (3)
An introduction to effective data structures and algorithms. Testing and evaluating data manipulation algorithms with respect to memory needs, complexity, and speed are emphasized. Prerequisites: A grade of C- or better in CS 111 and MA 151 or MA 212, and placement in MA 181 or MA 192; or consent of instructor.
CS 230 Computer Organization (3)
An exploration of the organization of a modern digital computer and the heuristics of various designs. Prerequisites: a grade of C- or better in CS 111 and MA 150, or consent of instructor.
CS 310 Introduction to Software Engineering (3)
The study of software analysis, design, evaluation, and maintenance techniques using UML and Java. Prerequisite: a grade of C- or better in CS 220 or consent of instructor.
CS 315 Compiler Construction (3)
An introduction to the design and construction of compilers. Emphasis is placed on solving universal problems and language translation. Prerequisites: a grade of C- or better in CS 210 and CS 220, or consent of instructor.
CS 320 Database Systems (3)
A study of design of relational databases using ER data modeling, an exploration of modern database systems such as Oracle, and programming database applications using Java JDBC and tools like Cold Fusion. Prerequisite: a grade of C- or better in CS 220 or consent of instructor.
CS 325 Data Communications and Networking (3)
Provides an introduction to data communications (specifically, the exchange of data between two directly connected devices) and to networking (specifically, communication between several indirectly connected computers). Transmission media, transmission protocols, interfacing, link control, flow control, error control, and multiplexing will be considered in detail. Prerequisite: a grade of C- or better in CS 230 or consent of instructor.
CS 330 System Architecture (3)
An extension of CS 230. This course provides an understanding of modern hardware structure and operation of assembly, linking, and program loading. Prerequisite: a grade of C- or better in CS 230 or consent of instructor.
CS 350 Operating Systems (3)
A study of the major features of operating systems such as real and virtual memory, concurrent processing, disk storage techniques, resolving deadlocks, and protection. Prerequisite: a grade of C- or better in CS 230 or consent of instructor.
CS 360 Artificial Intelligence (3)
A survey of artificial intelligence algorithms including search heuristics for problem solving and game playing, logic, knowledge representation and reasoning, planning and navigation, machine learning, neural networks, natural language processing, robotics. Prerequisite: a grade of C- or better in CS 220 or consent of instructor.
CS 385 Approaches to Teaching Secondary Computer Science (3)
Prepares the student to teach Computer Science at the secondary level by integrating content mastery with effective pedagogical strategies. A field experience (20 hours) is required. Prerequisites: ED 245S, ED 327S, and PSY 312.
CS 391A Topics in Mathematics: Combinatorics (3)
This course will present a survey of modern combinatorics, a field that has grown rapidly in the last few years and which has extensive applications in Computer Science. Students will be expected to state and prove results about counting principles, equivalence relations and partitions, inclusion and exclusion, recurrence relations, generating functions, Latin squares, block designs, affine and projective planes, and the relationship between linear codes and designs. Prerequisite: permission of instructor. (Also listed as MA 391A.)
CS 391B Topics in Mathematics: Numerical Analysis (3)
Introduces numerical methods for solving applied problems in analysis. Students will develop solutions (or approximate solutions) of mathematical equations that model real-world phenomena. The numerical routines will be implemented using Maple. Prerequisite: permission of instructor. (Also listed as MA 391B.)
CS 391C Topics in Mathematics: Graph Theory (3)
This is an introduction to elementary graph theory and its applications in a wide variety of areas. Students should develop facility with mathematical proof, show how graphs are applicable to a wide variety of subjects, and solve applied problems. Prerequisite: permission of instructor. (Also listed as MA 391C.)
CS 391D Topics in Computational Mathematics: Theory of Computation (3)
A study of the models of computation, formal languages, and measures of complexity. Prerequisites: a grade of C- or better in CS 111 and MA 151, or consent of instructor. (Also listed as MA 391D.)
CS 400 Internship (3-6)
Advanced students may register for a field experience in the metropolitan area. The internship is monitored by a faculty member. Prerequisite: permission of the dean of Arts and Sciences.
CS 410 Capstone Project (3)
Provides an opportunity for students to integrate and apply the knowledge that they have gained throughout the rest of their coursework. Students will work individually to design, implement, and test a software system and will present their software proposal, design, and code to their peers. Prerequisites: a grade of C- or better in CS 220 and CS 310, or consent of instructor.
CS 421 Project (1-3)
This course is for the independent study of a particular area of Computer Science under the direction of a faculty member. Prerequisite: approval of department chair.
CS 433 Research (1-6)
A student in this course will conduct collaborative research (scholarly work leading to new knowledge) in Computer Science under the direction of a faculty member. Refer to the Marymount Academic Research Initiative (MARI) guidelines. Prerequisite: application and approval of department chair.