Romain College of Business


Computer Science


Related University Links

Computer Science Courses (CS)

CS 101: Fundamentals of Computer Science (3) A first course intended for both major and non-major novice computer users that introduces computers and computing.  This course will introduce computer topics, enhance necessary skills, explore job opportunities and study the impacts of computing in society. Prereq: none

CS 201: Introduction to Object-Oriented Programming using Java (3) Introduces the fundamental concepts of programming from an object-oriented perspective. Through the study of object design, this course introduces data abstraction, inheritance, overriding, programming flow of control, operator precedence, and simple data structures such as lists and arrays. This course also introduces the basics of human-computer interfaces, graphics, and the social implications of computing, along with significant coverage of software engineering.

CS 215: Discrete Structures for Computer Science (3) Offers an intensive introduction to discrete mathematics as it is used in Computer Science. Topics include functions, relations, sets, propositional and predicate logic, simple circuit logic, proof techniques, elementary combinators, and discrete probability.

CS 258: Introduction to Object-Oriented Programming using C# (3) Introduction to programming in C# with a focus on object oriented programming techniques. In addition, the language syntax, data types, methods, functions, and procedures necessary to write C# programs will be covered. The language will be introduced using console examples and will migrate to windows examples during the course of the semester. Laboratory exercise will be assigned that represent common business problems for which the language is best suited. Prereq: none

CS 259: Introduction to Object-Oriented Programming using C#
(Changed to CS 258)

CS 288: Introduction to Object-Oriented Programming using Visual Basic (3) An introduction to programming in the microcomputer environment. Online interactive techniques will be emphasized in the solution of common business problems. Visual Basic will be used to illustrate structured programming techniques. Lab assignments will be used to master syntax error correction as well as problem-solving skills. Prereq: CS 111 or equivalent.

CS 301: Advanced Object-Oriented Programming using Java (3) Continues the introduction of object-oriented programming begun in CS 201, with an emphasis on algorithms, data structures, string processing, internal searching and sorting, software engineering, and the social context of computing.  Prereq: CS 201.

CS 311: Algorithm Design and Analysis (3) Introduces formal techniques to support the design and analysis of algorithms, focusing on both the underlying mathematical theory and practical considerations of efficiency. Prereq: CS 201, CS 215, CS 301.

CS 321: Architecture of Digital Computers (3) An introduction to the internal structure of digital computers. The design of gates, flip-flops, registers, and memories to perform operations on numerical and other data represented in binary form. [Prerequisites for Spring 2010 and later: ENGR 241]

CS 358: Intermediate Object-Oriented Programming using C# (3) Advanced study of the C# programming language, emphasizing object-oriented techniques applied to complex business information needs.  In addition, the course will deal extensively with database connectivity and utilization.  The course will start with Windows examples and will migrate to Web examples during the course of the semester.  Laboratory exercises will be assigned that represent common business problems for which the language is best suited.  Prereq: CS 258/259.

CS 359: Advanced to Object-Oriented Programming using C#  
(Changed to CS358)

CS 365: Operating Systems (3) The course includes the fundamental principles of operating systems, resource allocation and use by applications, device organization, interrupts, concurrency, user/system state, and protection. It develops each of these areas in greater depth: scheduling and dispatch, preemptive and non-preemptive scheduling, processes and treads, file systems, buffering, encryption, virtual memory, paging, swapping, security, protection, and related topics. Both Microsoft and Unix systems will be covered. Prereq: CS 201, CS 215, CS 301, and CIS 311.

CS 377: Introduction to Data Base Concepts (3) Introduction to database theory. Discussion of data structures, indexed and direct file organizations, models of data including hierarchical, network, and relational. Discussion of data analysis, design, implementation, and database administrator functions. Application of database, data definition languages, data manipulation languages, and/or data manipulation through a host language. Cross-listed as CIS 377. Prereq: a program language, e.g. Visual Basic, Object-Oriented Programming, C#, etc.

CS 379: Programming Languages (3) Introduction to formal study of syntax semantics and the logic of programming languages. Features of prominent languages will be examined. Prereq: CS 201 CS 215, CS 301 and CS 311.

CS 388: Advanced Object-Oriented Programming using Visual Basic (3) Advanced programming techniques in the microcomputer environment. Windows, networking, and remote communications techniques will be explored. Visual Basic will be used to illustrate the necessary programming techniques to solve these problems. Lab assignments will be used to master language and problem-solving skills. Prereq: CS 288.

CS 411: Network Management and Security (3) This course provides an overview of network management and security. It covers topics in communication technologies, communication design, communication protocols, and communication system planning and development. It includes distributed computing, encryption technology, and collaboration technology. It will introduce security sites representing the state of the art in security. It will cover major security concerns of IP security, network security, security in distributed object systems, security in distributed systems, Web security, e-mail security, viruses, trojans and worms, firewalls, and denials of service. Hands-on assignments with system and firewall configuration. Prereq: CS 201, CS 301, and CS 365.

CS 421: Study of Legacy Systems (3)  This course is an overview of legacy systems that will include the study of operating systems, user interfaces, basic operator commands, flat file architecture, editors, interactive and batch programming concepts, and programming languages.  Laboratory exercises will be assigned what emulate common problems encountered in businesses utilizing legacy systems. Prereq. CS 388 or CS 359 or CS 301.

CS 437: Numerical Analysis (3) A survey of current methods in numerical analysis. Topics will include: polynomial approximation and interpolation, numerical differentiation and integration, numerical solution of differential equations, functional approximation, solution of linear and nonlinear equations, and matrix methods for inverse and eigenvalue problems. Cross-listed as MATH 437. Prereq: CS 141, CS 331, MATH 330, and MATH 335.

CS 458: Advanced Object-Oriented Programming in C# (3) This course is an advanced study of the C# programming language, emphasizing the development of dynamic web pages.  The course will cover server side controls, how to access and update data from a data source, how to bind controls to a data source and how to encapsulate visual and programmatic behavior in reusable ASP components.  Laboratory exercixes will be assigned that represent common business problems for which the language is best suited. Prereq: CS 358/359

CS 461: Artificial Intelligence (3) Introduces students to the fundamental concepts and techniques of artificial intelligence (AI). Prereq: CS 201, CS 215, CS 301.

CS 478: Software Development (3) Provides an intensive, implementation-oriented introduction to the software-development techniques used to create medium-scale interactive applications. Prereq: CS 201, CS 215, CS 301.

CS 483: Senior Software Development Project (3) This course applies computer programming and software engineering concepts, principles, and practices to a comprehensive system development project. A team approach is used to analyze the problem, and then specify, design, implement, test, validate, and deliver a software package that solves the problem. Teams will use software engineering techniques, project management techniques including milestones and formal presentations to create and test the package solution to the system problem. Prereq: CS 201, CS 301, CIS 305, CS 365, CIS 367, CIS 375, and CS/CIS 377, Senior Standing.

CS 499: Projects in Computer Science (3) Advanced project in mathematics, business, or other area, done under supervision of instructor in area. Prereq: six hours upper-division computer science courses.