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 or COSC 115. 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: COSC 110. An introduction to the mathematical ideas that are most often used in computer science. Topics covered include recursion and induction, graphs and trees, counting techniques and discrete probability, and prepositional and digital logic. (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. A survey of many advanced programming algorithms. Topics include sorting and searching, string, geometric and graph algorithms. Students will spend a significant amount of time out of class designing, writing and debugging computer programs in programming languages such as Java or C++.
COSC 345 Computer Systems (4)
Prerequisite: COSC 245. Studies fundamental system concepts such as memory management, input/output, process and thread management, concurrency, and networking.
COSC 362 Computer Graphics (3)
Prerequisite: COSC 130. Introduction to the principles and techniques of computer graphics programming. Offered alternate years.
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.