Admissions & Financial Aid

Alumni

Athletics

Office of the President

News & Events

Student Life

Support the Mount

Computer Science
Why Computer Science?
Computer Science Major and Minor
Computer Science Course Requirements
Computer Science Course Sequence
Computer Science Course Descriptions
 
Inclement Weather Policy
Computer Science Course Descriptions

  

CSCI 101 Computer Technology (3)

A hands-on introduction to the uses of computer technology. Topics include word processors, spreadsheets, databases, graphics applications, electronic mail, the Internet and World Wide Web, programming concepts and computer ethics. The exact applications covered will vary based on available software. (Fall)

CSCI 109 Internet Intelligence (3)

An overview of the history, applications, and legal issues concerning the World Wide Web. Students will improve their proficiency in using search engines, electronic mail, instant messaging, and online programs. Students will also gain hands-on experience with web page design. No computer experience is presumed. Prerequisite: none. (As needed)

CSCI 115 Computer Games and Gaming (3)

An overview of issues related to games, focusing on computer games. Topics may include: history of games, social and ethical aspects of gaming, storytelling in games, game taxonomy, and game development. Students will use application software to develop different types of games (including 2D shooters and adventure games). Prerequisite: none. (As needed)

CSCI 120 Computer Programming I (3)

An entry-level course in computer science that covers problem-solving methods and the development of algorithms. Students are taught how to design, write, edit, test, debug and document simple computer programs. Includes principles of modularity and information hiding, good programming style and elementary data representation. (Fall)

CSCI 125 Computer Programming II (3)

A continuation of programming techniques from CSCI 120, particularly stressing the object-oriented paradigm. Students learn about class design, inheritance, input and output to files, arrays and dynamic memory allocation. Prerequisite: CSCI 120. (Spring)

CSCI 228 Discrete Mathematics (3)

Basic techniques and methods of reasoning for discrete problem solving. Topics include induction, set theory, elementary combinatorics, graph theory and applied algebra. Applications to computer science are emphasized. Prerequisite: MATH 101/102 or placement by department. (Same as IFSY and MATH 228.) (Spring)

CSCI 254 Data Structures and Algorithms (3)

The study and implementation of computer algorithms that utilize data structures. Such structures include linked lists, stacks, queues, trees, heaps and graphs. Searching and sorting algorithms are discussed. Students learn about recursion and running-time analysis. Prerequisite: CSCI 125. Recommended: CSCI 228. (Fall)

CSCI 277 Computer Architecture (3)

An introduction to architecture and organization of modern computer systems. Topics are selected from processor and multiprocessor design, instruction set architectures, addressing, number system representation and computer arithmetic, control structures, microprogramming, memory management, memory hierarchies, and input output structures, assembly-level programming. Prerequisite: CSCI 120 or permission of instructor. (Fall)

CSCI 349 Software Engineering (3)

An introductory course in software engineering. Techniques in software design and development are studied. Topics include structured design, structured programming, top-down design and development, segmentation and modularization techniques, iterative enhancement, design and code inspection techniques and correctness. Principles of object-oriented design and the Unified Process are stressed. Includes experience in applying the techniques through the team development of a large software project. Prerequisite: CSCI 254 or permission of instructor. (Spring, even years)

CSCI 356 Operating Systems (3)

An examination of operating systems. Topics: dynamic procedure activation, system structure, evaluation, memory management, process management, recovery procedures, systems software. Unix and MS Windows are the primary examples. Prerequisites: CSCI 254 and 277 or permission of the instructor. (Spring, odd years)

CSCI 359 Database Management Systems (3)

A study of the design, organization and implementation of database systems. Topics include file organization and processing; hierarchical, network and relational models of database structure; database languages; SQL. Prerequisite: CSCI 125. Recommended: CSCI 254. (Fall, even years)

CSCI 385 Theory of Computation (3)

An investigation into the theoretical basis of computation. Topics include a study of finite state automata, regular expressions, context-free grammars, pushdown automata, the pumping lemma, Turing machines, undecidability and intractable problems. Prerequisites: CSCI 254, 228 or permission of the instructor. (Fall, odd years)

CSCI 394 Computer Graphics (3)

Principles of computer graphics including representation, manipulation and display of two- and three-dimensional objects. Coverage of display devices, lines, curves, surfaces, composite objects, transformations, hidden line and surface removal, shading, coloring and interactive graphics. Prerequisites: CSCI 254 and MATH 248, or permission of the instructor. MATH 364 is recommended. (On a rotating basis)

CSCI 442 Principles of Programming Languages (3)

A study of the syntax, semantics and pragmatics of computer languages. Topics: language definition structure, data types and structures, control structures and data flow, run-time considerations, functional languages, lexical analysis, parsing. The languages studied will vary. Prerequisites: CSCI 254 or permission of the instructor. (Fall, odd years)

CSCI 449 Introduction to Artificial Intelligence (3)

Survey of concepts and applications of artificial intelligence. Topics may include knowledge representation, searching state space, heuristic search, expert systems, natural language processing, propositional logic, learning and cognitive models, and computer vision. Prerequisite: CSCI 254 or permission of the instructor. (On a rotating basis)

CSCI 453 Algorithms (3)

An in-depth study of algorithmic design with an emphasis on applications. Topics may include algorithm analysis, design patterns, advanced tree structures, graph algorithms, computational geometry, text processing and network algorithms. Requires CSCI 228 and CSCI 254 or permission of instructor. (Fall, even years)

CSCI 455 Network Systems and Design (3)

Fundamental communications concepts leading to a study of the topology and communication protocols for computer networks. The class focuses on protocols for Internet communication. Topics include application-layer protocols, TCP/IP, DNS servers and e-mail protocols. Prerequisites: CSCI 254, 277 or permission of the instructor. (On a rotating basis)

CSCI 475 Senior Project (3)

Students complete a major computer science project. At the beginning of the term, with the help of the instructor, students find a client who needs an application written. (Ideally this client should be found prior to the start of the semester.) Projects may come from on- or off-campus sources. As the students develop their projects, they also present material from areas of interest in computer science. Prerequisites: CSCI 254, 228 or permission of the instructor. Recommended: CSCI 349. (Fall)

CSCI 484 Numerical Methods (3)

Numerical methods for applications of mathematics. Topics include the numerical solution to nonlinear equations, interpolation, numerical differentiation and integration, and the numerical solution to differential equations. Oriented toward machine computation. Prerequisites: MATH 249 and CSCI 120 or permission of the instructor. (Spring, even years)

CSCI 489 Modeling and Simulation (3)

Emphasis will be on the study of models and their applications to other disciplines. Topics may include population growth, epidemics, scheduling problems, predator-prey interaction, transportation, economics and stochastic models. Prerequisites: MATH 248 and CSCI 120 or permission of the instructor. (Same as MATH 489.) (As needed)

CSCI 398 Independent Study (1-3)

Independent study in an area of computer science selected to meet a student’s interest or need. Permission of the instructor, department chair and dean for academic affairs. (As needed)

CSCI 492-493 Practicum (1-3 each)

An opportunity to gain practical experience with this work-related program. The nature of the work experience and the number of credits must be approved in advance by the department chair and the dean for academic affairs. (As needed)

CSCI 499 Special Topics in Computer Science (3)

Advanced projects in software design or development, hardware design or construction, or hardware/software integration. Intensive study of advanced topics such as compiler construction or image processing. Offered at the discretion of the department with regard to the needs and aptitudes of the students. (As needed)

trans.gif
trans.gif

Mount St. Mary's University • 16300 Old Emmitsburg Road, Emmitsburg, MD 21727 • Phone: 301-447-6122
Mission Statement | Privacy Policy | Nondiscrimination Notice | Security Report | Site Map | Contact Us