CIS 318 Ethics for the IT Professional (3.00)
Focuses on ethical problems that arise in the Information Technology world. Explores the areas of IT crime, privacy, intellectual property, software development, and employer/employee issues. Introduces the codes of ethics for various IT professional associations and organizations.
CS 208 Computer Science Fundamentals (3.00)
Provides an introduction to Computer Science/Computer Information Systems. Includes numbering systems, mathematical and logical binary operations, basic concepts of computer organization, and operating systems. Introduces systems analysis and design, management information systems, databases, networking, assembly and high-level language program development environments.
CS 320 C Programming (3.00)
Presents computer problem solving techniques using the C language as a tool. Includes data typing, assignments, flow control, repetition, modular programming with functions, arrays, strings, structures, data files, bit operations and comparisons with other high level languages.
Pre-requisite: CS*341 CS*362
CS 361 Control Structures (3.00)
Develops a precise and logical methodology for problem solving and reducing solutions to algorithmic format. Introduces the concepts and methodologies of structured programming and design. Demonstrates the uses, abuses, and best practices of sequential, selection, iterative, recursive, and subprogram control structures. NOTE: Credit may be awarded for CS 241 or CS 361, not both.
Cross listing(s): CS 241.
CS 362 Data Structures (3.00)
Combines concepts discussed in CS 361, computer programming and design, with structural programming and design. Examines data structures including arrays, structures, linked lists, queues, stacks, file organization along with file processing and algorithms used in problem solving. Emphasizes sound programming practices. NOTE: Credit may be awarded for CS 362 or CS 341, not both.
Pre-requisite: CS*361
Cross listing(s): CS 341.
CS 370 Assembly Language (3.00)
Describes the elements and techniques of assembly language programming for microprocessors used in the IBM compatible family of microcomputers. Introduces computer architectures, and discusses the concepts of data representations, processing instructions, addressing modes, macros, functions and procedures, and file I/O.
Pre-requisite: TAKE CS*208 AND CS*362;
CS 372 Advanced Programming and Algorithms (3.00)
Demonstrates methods for analyzing the efficiency of computer algorithms. Analyzes searching and sorting algorithms, including hashing, shell sort, quicksort, and mergesort. Develops advanced programming skills through enhanced program analysis and design, team programming, and design and implementation of large projects.
Pre-requisite: TAKE CS*208 AND CS*362;
CS 375 Computation Theory (3.00)
Provides the concepts of languages and language analysis including lexical analysis, syntax analysis and regular expression. Introduces automata theory including deterministic and non deterministic finite state machines and parsing techniques.
Pre-requisite: TAKE MT*320;
CS 390 Principles of Programming Languages (3.00)
Introduces the constructs upon which contemporary programming languages are based. Students investigate programs written in declarative and imperative programming languages including functional, logic, structured, and object-based approaches.
Pre-requisite: TAKE CS*362 AND CS*375;
CS 430 Operating Systems (3.00)
Studies the organization and operation of computer systems. Includes batch processing, interactive processing, multiprogramming systems, storage management, data sharing in main storage, resource control, file systems and processor scheduling.
Pre-requisite: TAKE CS*372;
CS 432 Modern Software Engineering (3.00)
Introduces modern software engineering using the object-oriented paradigm. Develops and object model for use in object-oriented analysis, design, and programming. Topics include object modeling, UML, object-oriented analysis and design.
Pre-requisite: TAKE CS*208 CS*362;
CS 433 Computer Systems Security (3.00)
Introduces the concept of security in computing. Topics include cryptography, program security, operating systems protection, database security, and network security. Students will explore current security models, internal and external security threats, risk analysis, privacy issues and security laws and regulations.
Pre-requisite: TAKE CIS*425 CS*450 CN*301;
CS 434 Object-Oriented Programming Using Java (3.00)
Focuses on translation of object-oriented analysis and design documents into efficient Java code. Introduces Java control structures, data structures, file input and output, applets, methods, classes and objects, inheritance, polymorphism, multi-threading, graphics, and animation.
Pre-requisite: TAKE CS*208 CS*362;
CS 436 Object-Oriented Programming Using C++ (3.00)
Focuses on translation of object-oriented analysis and design documents into efficient C++ code. Uses C++ programming to implement object-oriented programming techniques. Emphasizes methods, classes and objects, inheritance, polymorphism, message passing, instantiation, and data hiding.
Pre-requisite: CS*372 CS*432
CS 437 Advanced Data Structures (3.00)
Presents advanced data structures used to represent complex data. Enhances programming skills via implementation of these data structures, along with algorithms that apply to each. Includes advanced uses of arrays and linked lists, as well as coverage of trees, priority queues, heaps, and graphs.
Pre-requisite: CS*372 CS*436 MT*270 MT*320
CS 440 Computer Organization and Architecture (3.00)
Introduces machine architecture through the traditional Von Neumann architectural schemes. Features traditional register-to-register transfer logic, ALU design and BUS architectures. Examines disk drive performance analysis, virtual storage, cache memory, pipelining, micro-code and bit-slicing. Examines several systolic architectures and their corresponding parallel processing environments.
Pre-requisite: TAKE CS*370;
CS 442 Database Programming (3.00)
Introduces the ANSI standard structured query language (SQL/PL). Includes various extensions to the language, design and implementation of a relational database, data manipulation, joining tables, creating and using views, use subqueries, data security and integrity.
Pre-requisite: CS*445 OR CIS*445
Cross listing(s): CIS 442.
CS 445 Database Management (3.00)
Introduces the theory of database design. Discusses techniques of database systems implementation, physical file organization, data integrity, security techniques, and management of the database environment. Explores data structures used in databases, database management, and data communications.
Pre-requisite: CS*362
Cross listing(s): CIS 445.
CS 450 Data Networks (3.00)
Provides the concepts and terminology of data communications and network design. Includes transmission techniques, network topologies, protocols, security network control and network architectures.
Pre-requisite: TAKE CS*208 CS*362;
CS 465 UNIX Operating Systems (3.00)
Explores the architecture of the UNIX operating system. Provides hands-on experience in file management, the UNIX shell, using filters, using and developing pipes, security, software development tools, text processing tools and in-depth knowledge of how these aspects are incorporated into the UNIX system. Discusses how UNIX meets its design objectives, its relative merits in comparison with other operating systems, and interoperability issues.
Pre-requisite: CS*372 CS*430
CS 468 Advanced UNIX (3.00)
Expands upon knowledge of UNIX systems. Introduces systems administration tasks, including software installation, system configuration, and managing user accounts. Studies risks faced by computer systems and UNIX security mechanisms. Explores UNIX system programming including signal and interprocess communication.
Pre-requisite: CS*372 AND CS*465
CS 473 Artificial Intelligence (3.00)
Reviews the artificial intelligence field. Introduces neural networks and examines the different propagation algorithms, convergence criteria and neural network applications.
Pre-requisite: CS*208 AND MT*415
CS 474 Enterprise Software Development (3.00)
Examines the architecture of modern, distributed, and enterprise software systems. Topics include Enterprise Architecture, Business-Process Management, and Service-Oriented Architectures and enabling technologies like Web Services. Requires students to write software in a SOA environment.
Pre-requisite: TAKE CS*434;
CS 482 Web Programming and Scripting (3.00)
Introduces Web-based application development. Topics include various mark-up languages (XHTML, Dynamic HTML, and XML), several scripting languages (JavaScript, Jscript, Perl, PHP and others), Web servers (IIS and Apache), and relational databases (JDBC API, MySQL) and other skills needed to create Web-based applications.
Pre-requisite: CS*434
CS 493 Senior Capstone (3.00)
Provides the culminating experience of the major, focusing on integration and application of theory. Must be completed as graded course work at Regis University.
Cross listing(s): CIS 493 CN 493.
MSCC 610 Information Technology Concepts (3.00)
Introduces information systems concepts, architectures, and technologies. Emphasizes information systems resources needed to meet organizational mission and objectives. Focuses on information systems from business viewpoint including processes, value proposition, and different types of information systems.
MSCC 697 Information Technology Research Methods (3.00)
Concentrates on project management, proposal preparation, research and thesis writing. Deliverable include abstract proposal outline and research plan. Students research and develop project proposals that are then approved by the faculty.
Pre-requisite: TAKE MSCC*610;
MT 270 Introduction to Statistics (3.00)
Presents standard topics in introductory statistics for students whose major is not mathematics. Topics include descriptive statistic, probability distributions, estimations, hypothesis testing, linear regression and correlation and other topics.
Cross listing(s): BA CITI MT 270C.
MT 320 Introduction to Discrete Mathematics (3.00)
Introduces mathematical tools used by computer scientists with an emphasis on developing problems solving abilities. Topics include machine logic, set theory, Boolean algebra, mathematical induction, and data structures.
Pre-requisite: MT*201
MT 360A Calculus I (4.00)
Treats standard topics of single variable calculus including limits, continuity, derivatives, applications of derivatives, and elements of integration.
MT 360B Calculus II (4.00)
Continues treatment of single variable calculus including definite and indefinite integrals, applications of integrals, transcendental functions, techniques of integration and infinite series.
Pre-requisite: MT*360A
MT 415 Linear Algebra (3.00)
Studies vector spaces, linear transformations, matrices, determinants, systems of equations, eigenvalues and characteristic matrices.
Pre-requisite: MT*360A