Searching…

University Catalog

Print Page



CSCI 406. Formal Methods

Credits: 3 View Details
Description: Formal methods for specification, validation and verification in software development life cycle. Specification techniques. Formal methods integration with programming languages. Application of formal methods in requirements and safety analysis, testing, software reuse.
Prerequisites: CSCI 330 and MATH 271, or permission of instructor.
Semester Offered: DEMAND


CSCI 411. Database Theory and Design

Credits: 3 View Details
Description: Principles of database systems, theory of relational databases, design techniques, concurrency control and recovery, object-oriented systems.
Prerequisites: CSCI 331 OR (CSCI 301 and SE 240)
Semester Offered: DEMAND


CSCI 412. Distributed Systems Principles

Credits: 3 View Details
Description: Distributed systems architecture. Process synchronization. Distributed operating systems, file systems and database systems. Projects.
Prerequisites: CSCI 311
Semester Offered: DEMAND


CSCI 413. Computer Networks

Credits: 3 View Details
Description: Computer network architecture. The OSI seven-layer reference model and communication protocols. Network services. Projects for current applications.
Prerequisites: CSCI 311
Semester Offered: DEMAND


CSCI 414. Platform-Based Development

Credits: 4 View Details
Description: Networking, security, and performance issues on a modern platform, graph architectures and NOSQL techniques. Develop an NOSQL application.
Prerequisites: CSCI 310 and CSCI 331
Corequisites: CSCI 312
Semester Offered:
  • Fall
  • Spring


CSCI 415. Computer Security

Credits: 3 View Details
Description: Cryptography, network security and system security. Cryptographic methods, key distribution, and protocols for authenticated and confidential communications. Network and system security.
Prerequisites: CSCI 310, MATH 271, MATH 312
Semester Offered: DEMAND


CSCI 430. Object-Oriented Software Development

Credits: 3 View Details
Description: Techniques for identifying and specifying objects, object classes and operations in designing software. Development of a major project using object-oriented analysis, design and programming techniques.
Prerequisites: CSCI 331 or (CSCI 301 and SE 240)
Semester Offered: DEMAND


CSCI 431. Software Engineering I

Credits: 3 View Details
Description: Software engineering concepts, life-cycle models, software process, team organization and management, software engineering tools, estimation and planning, requirements gathering, analysis, design and implementation, software testing, reusability and portability, encapsulating algorithms, inheritance, patterns of patterns.
Prerequisites: CSCI 331 or permission of instructor
Semester Offered: DEMAND


CSCI 432. Software Engineering II - Large Scale Software Systems

Credits: 3 View Details
Description: Concepts and methods for the architectural design of large-scale software systems. Design Patterns. Transition of functional descriptions to structure and architectural descriptions. Analysis and design of existing and new architectures. Software engineering techniques to transform sequential programs into multithreaded and parallel programs. Project management. Quality assurance and control, precision, performance, economics.
Prerequisites: CSCI 430 or permission of instructor.
Semester Offered: DEMAND


CSCI 433. Software Engineering III - Distributed Software Systems

Credits: 3 View Details
Description: Concepts and methods for construction of distributed and concurrent software using network protocols. Protection. Client-server programming, component-based software development.
Prerequisites: CSCI 311 or permission of instructor.
Semester Offered: DEMAND


CSCI 434. High Performance Software and Systems

Credits: 3 View Details
Description: Basics of software performance, defining performance objectives UML-based rotations, software execution models, web applications and distributed systems, system execution, data collection, performance measurement, performance-oriented analysis, design and implementation, applications.
Prerequisites: CSCI 311, CSCI 430 or permission of instructor
Semester Offered: Even Spring


CSCI 440. Introduction to Artificial Intelligence

Credits: 3 View Details
Description: Heuristic versus deterministic methods, game playing programs, theorem proving programs, decision making programs.
Prerequisites: CSCI 330, MATH 253, MATH 271, MATH 373
Semester Offered: DEMAND


CSCI 441. Neural Networks

Credits: 3 View Details
Description: Natural and artificial neural networks. Back propagation, conjugate gradients, cascade-correlation training methods, associative memory. Self-organizing nets, adaptive resonance nets, Hopfield nets, constraint satisfaction networks. Design and applications.
Prerequisites: CSCI 320
Semester Offered: DEMAND


CSCI 442. Expert Systems

Credits: 3 View Details
Description: Theory and applications of expert systems. Knowledge acquisition and representation. Inference techniques. An expert system language. Design and evolution of expert systems.
Prerequisites: CSCI 301
Semester Offered: DEMAND


CSCI 443. Evolutionary Computation

Credits: 3 View Details
Description: Population-based search heuristics inspired by biological evolution. Representations and operators. Specifying parameter values. Hybridization with local search and other search strategies. Constraint handling. Theory.
Prerequisites: CSCI 301 and MATH 271
Semester Offered: DEMAND


CSCI 444. Internship

Credits: 1-6 View Details
Description: Supervised computing work experience. Can be repeated for a total of 6 credits.
Prerequisites: Any three CSCI courses at the 300 level
Semester Offered:
  • Fall
  • Spring
  • Summer


CSCI 450. Computer Graphics

Credits: 3 View Details
Description: Algorithms, data structures and techniques for generating graphics. Graphics hardware, display primitives, geometric transformations, perspective projection, clipping and user interaction.
Prerequisites: CSCI 301, and either MATH 327 or MATH 312
Semester Offered: DEMAND


CSCI 475. Advanced Topics in Computer Science

Credits: 1-6 View Details
Description: An in-depth study of one or more issues in contemporary computer science not covered in other computer science courses.
Semester Offered: DEMAND


CSCI 480. Computer Seminar

Credits: 1 View Details
Description: Reading, research and discussion of selected topics.
Semester Offered: DEMAND


CSCI 490. Practicum in Computer Science

Credits: 1-2 View Details
Description: Supervised programming for various departments. Can be repeated for a maximum of 6 credits.
Prerequisites: Approval of department
Semester Offered: DEMAND


CSCI 501. Credit By Arrangement

Credits: 1-3 View Details
Description: Credit By Arrangement.
Semester Offered:
  • Fall
  • Spring
  • Summer


CSCI 502. Introduction to the Theory of Computation

Credits: 3 View Details
Description: Regular languages, finite-state automata, context-free languages, grammars, push-down automata, Turing machines, Church's thesis, the halting problem and computability.
Prerequisites: CSCI 320, MATH 253 or MATH 373
Semester Offered: DEMAND


CSCI 504. Design and Analysis of Algorithms

Credits: 3 View Details
Description: Computing time functions; maximum, minimum and average computing time of various algorithms.
Prerequisites: CSCI 331, MATH 253 or MATH 373
Semester Offered: DEMAND


CSCI 506. Formal Methods

Credits: 3 View Details
Description: Formal methods for specification, validation and verification in software development life cycle. Specification techniques. Formal methods integration with programming languages. Application of formal methods in requirements and safety analysis, testing, software reuse.
Prerequisites: CSCI 311, CSCI 330, or permission of instructor.
Semester Offered: DEMAND


CSCI 511. Database Theory and Design

Credits: 3 View Details
Description: Principles of database systems, theory of relational databases, design techniques, concurrency control and recovery, object-oriented systems.
Prerequisites: CSCI 331
Semester Offered: DEMAND






The contents in this catalog and other university publications, policies, fees, bulletins or announcements are subject to change without notice and do not constitute an irrevocable contract between any student and St. Cloud State University.