CS 1309 (COSC 1336) Computer Science I (2-2). This course is a disciplined approach to problem-solving with structured techniques and representation of algorithms using pseudo-code and graphical tools. There will be discussions of methods for testing, evaluation, and documentation. Topics include data types; control structures; functions, structures, arrays, and file input/output; the mechanics of running, testing and debugging programs; introduction to programming; and introduction to the historical and social context of computing. Prerequisite: Students may concurrently enroll in Math 1314.
CS 1320 (COSC 1337) Computer Science II (2-2). Students are introduced to the fundamental concepts of object-oriented programming, including concepts and techniques of object-oriented programming. This course introduces students to objects, classes, constructors, methods, object inheritance, and polymorphism from a practical and hands-on approach. Prerequisite: CS 1309.
CS 2306 Special Topics (3-0). Discussion of selected topics in computer science suitable for lower division students. The course may be repeated with different topics. Offered when needed. Prerequisite: Permission of the instructor.
CS 2315 (COSC 2336) Data Structures (2-2). This course is a further application of programming techniques. Topics include Abstract Data Types (ADTs), linear data structures (arrays, stacks, queues, and lists), and non-linear data structures, including graphs, trees, heaps, has tables, dictionaries, and maps. Students will also be introduced to recursive algorithms and graph traversal techniques. Prerequisite: CS 1320.
CS 3101 Departmental Seminar (1-0). A forum for the presentation and discussion of results from various disciplines relating to Computer Science and Mathematics. Presentations will be made by visitors, faculty, and students. Students enrolled for credit in the departmental seminar will be expected to make at least one oral presentation during the semester. The course may be repeated during different semesters. (This course is a cross-listing of MATH 3101). Offered fall and spring. Prerequisite: Upper division standing.
CS 3302 Computer Aided Instruction (2-2). This course will cover the fundamental concepts of parallel programming, including GPUs to maximize performance of modern computer systems. It will include parallel programming models, GPU programming with CUDA, and cluster computer with MPI and other parallel environments. Prerequisite: Permission of the instructor.
CS 3306 Special Topics (3-0). Discussion of selected topics in computer science suitably for upper division students. The course may be repeated with different topics. Offered when needed. Prerequisite: Permission of the instructor.
CS 3310 Computer Communications (3-0). Course covers network systems, topology, media, the theoretical network, real-world networks, and configuration of networks. Offered fall even years. Prerequisite: CS 1320
CS 3316 Operating Systems (3-0). This course examines the important problems in operating system design and implementation. Operating systems provide an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. The operating system is responsible for sharing resources (e.g. disks, networks, and processors), providing common services needed by many different programs (e.g. file services, the ability to start or stop processes, and access to the printer), and protecting individual programs from interfering with one another. Prerequisites: CS 2315
CS 3320 Object-Oriented Programming (3-0). In this course, students are introduced to concepts and techniques of more advanced object-oriented programming and provides additional exposure to using basic objects, classes, methods, inheritance, and polymorphism. Students will be introduced to property types, and method overloading, Students are also taught to appropriately use static classes, methods, and types when instance objects can be avoided. A brief comparison of objected-oriented languages such as C++, Smalltalk and CLOS is included. Prerequisite: CS 2315.
CS 3331 Advanced Database Systems (3-0). Study of the concepts of database management systems. Topics include file structures, access methods, database modeling and design, structured query language (SQL), and high level language interfaces to database systems. Offered spring even years. Prerequisite: CS 2315
CS 3360 LINUX (3-0). This course provides students with an understanding of the roles of Linux Server functions, the services provided by the server system, from basic to advanced operations involved in system security administration. It includes secure configuration of a system server, password policies, updates, patches, backups, port configuration and security scans. This course also includes virtualization of a Linux server. Prerequisites: CS 1309
CS 4306 Individual Studies (3-0). Investigation of special topics in Computer Science, conducted on an individual basis. The course may be repeated for different topics. Offered when needed. Prerequisite: Permission of the instructor.
CS 4311 Senior Capstone II (3-0). Continuation of Senior Capstone I Students complete a collaborative programming project and present a working product and business plan. Prerequisites: CS 4310
CS 4320 Software Engineering (2-2). This course emphasizes the software life cycle and the tools and models that have been developed to build large systems. Planning, estimating, and managing project development are discussed. Both the structured and the object-oriented paradigms will be covered. Offered fall even years. Prerequisite: CS 2315 or permission of the instructor.
CS 4340 Computer Architecture (2-2). Topics include combinational logic circuits and design sequential circuits, registers and counters, memory and programmable logic devices, register transfers and data paths, and sequencing and control. Offered spring odd years. Prerequisites: CS 2315
CS 4390 Senior Project (0-6). This is a capstone course in which the student is required to complete a project demonstrating command of a significant body of computer science. Includes oral defense of a paper written in ACM style and an exit examination designed to show mastery of all computer science courses completed. This course is required of all senior Computer Science majors. Offered when needed. Prerequisite: Permission of instructor.
CS 5301 Special Topics in Computer Science (3-0). Selected topics in Computer Science. The course may be repeated for different topics. Offered when needed. Prerequisite: Permission of instructor.
CS 5302 Topics in Software Engineering (3-0). This course compasses different methods and techniques in software engineering, developing the software life cycle and implementation of business-related software needs. The course may be repeated for different topics. Offered when needed. Prerequisite: Permission of instructor.
CS 5303 Independent Studies (3-0). Independent study of selected topics in Computer Science. The course may be repeated for different topics. Offered when needed. Prerequisite: Permission of instructor.