COSC 109 Introduction to Information Management (3)
An introduction to fundamental principles, concepts and techniques that providers of information use to organize their data. Also studies techniques for using information effectively in decision making. Basic networking, web, database, spreadsheet and programming concepts will be covered. Does not count toward the Computer Science major or minor requirements.
COSC 110 Introduction to Computer Science (3)
Prerequisite: Minimum ACT composite score of 23 or COSC 109 recommended. Introduction to the fundamental ideas and techniques of computer science. Introductory programming topics such as variables, sequence, selection, repetition, and objects will be covered. Students will spend a significant amount of time out of class writing and debugging code in a programming language. (MR)
COSC 130 Data Structures (3)
Prerequisite: COSC 110. Studies the implementation of common data structures such as stacks, queues, linked lists, and trees. Intermediate programming topics such as recursion, analysis of algorithms, and other topics will be introduced. Students will spend a significant amount of time out of class designing, writing, collaborating on, and debugging classes and programs.
COSC 210 Database and the Web (4)
COSC 220 Software Design (4)
Prerequisite: COSC 130. Introduces current design methodologies for developing computer programs. Object-oriented programming concepts will be covered. Designing classes and interaction between objects will be emphasized. In addition, API’s for common data structures will be included. Students will spend a significant amount of time out of class designing, writing, collaborating on, and debugging classes and programs in an object-oriented programming language.
COSC 235 Discrete Structures (3)
Prerequisite or corequisite: COSC 130. An introduction to the mathematical ideas commonly used in computer science, such as logic, proof, sets, counting, discrete probability, relations, functions, graphs, and automata. (MR)
COSC 245 Computer Organization and Architecture (4)
Prerequisite: COSC 130. A study of the internal organization and design of computing devices. The machine will be examined at different levels such as digital logic, microprogramming, conventional machine and assembly language. Advanced architectures such as RISC and parallel machines will be explored.
COSC 255 Programming: “Language” (2)
Prerequisite: COSC 130. A study of a selected programming language not covered in other computer science courses. This course may be repeated with a different language.
COSC 325 Mobile Application Development (4)
Prerequisite: COSC 220. Studies the principles of software development for mobile platforms.
COSC 330 Algorithms (3)
Prerequisite: COSC 130 and COSC 235. A survey of algorithm analysis and design, with an introduction to advanced algorithms. Topics may include sorting and searching, strings, graphs, and dynamic programming.
COSC 345 Computer Systems (4)
Prerequisite: COSC 130, COSC 245 recommended. Studies fundamental system concepts such as memory management, input/output, process and thread management, concurrency, and networking.
COSC 346 Cybersecurity (4)
Prerequisite: COSC 130. Overviews computer security in software systems and the Internet. The course will evaluate risks to computer and network systems, examine and design security systems against attacks, and apply security principles to solve real-world problems. A “learning by doing” approach using self-contained labs will be used to demonstrate security flaws and their remedies.
COSC 362 Computer Graphics (4)
Prerequisite: COSC 220. Introduction to the principles and techniques of computer graphics. This course begins with a bottom-up approach, in which you write C++ code from scratch to create 3D images in two fundamentally different ways. This provides a strong foundation for learning OpenGL, the industry-standard graphics API.
COSC 390/490 Topics: Computer Science (Arr)
Prerequisite: COSC 220. Various topics in computer science can be studied depending upon the interest of the students. Some possible areas of study are advanced programming techniques and systems analysis.
COSC 420 Senior Project (4)
Prerequisite: COSC 220. Students independently research an advanced topic in computer science of their choice and then design and implement a project based on their topic. Students are expected to present (orally and in writing) the results of their work.