A A Email Print Share

Course Descriptions

View flowchart for recommended course sequences.

Computer Science Courses

100 - Elements of Computer Science 2 cr.
A survey of topics necessary for modern-day professional computer literacy.  Includes laboratory exercises. Credit not given to computer science majors or minors.
101 - Basic Programming 3 cr.
Computer programming in Visual Basic. Algorithm development and data representation, decisions/conditions, looping, procedures and functions, arrays, searching, sorting, object oriented programming, interface design and writing Windows applications using forms, controls, and events.
130 - Fundamentals of the Internet 3 cr.
Technical concepts of the Internet and advanced Internet/Web services, plus HTML and web page design. Also includes future trends, ethics, and security issues. Prerequisite: UCOR 030 or equivalent.
135 - Introduction to Computer Science 3 cr.
An introduction to fundamental computer science concepts for non-computer science majors. Provides high-level coverage of topics that may include Operating Systems (such as Windows), Programming Languages, Software Engineering, Computer Graphics, Artificial Intelligence, the Internet and World Wide Web, Computer Architecture (such as those from Intel), Algorithms and Problem Solving, Data Storage, Computer Security, and Social and Ethical Aspects of Computing.
145 - Algorithmic Thinking 3 cr.
Computers have made possible new ways of thinking about how to solve problems. This course introduces this style of thinking to students from any discipline by applying tools and techniques designed for beginners to engaging in problems. Topics include basics of algorithm design and development, abstraction, modularization, information organization, and object-oriented concepts.
150 - Computer Programming: C++ 3 cr.
Object oriented programming, objects and classes, data abstraction, functions, looping, selections, control structures, arrays, searching, and sorting. Credit is not allowed for both COSC 150 and COSC 160.
160 - Scientific Programming: Java 3 cr.
Object oriented programming, objects and classes, data abstraction, functions, looping, selections, control structures, arrays, searching, and sorting in an environment with scientific and mathematical applications. Credit is not allowed for both COSC 150 and COSC 160.
200 - Computer Science Tools 3 cr.

Computer science is, even at the undergraduate level, a very tool and technique intensive discipline. This course focuses on several commonly-used tools that are not necessarily part of the standard course sequence but that may be useful in other classes across the discipline or in other departments. Topics presented include * Command-line interfaces and the Unix/Linux operating system * Scripting languages and Python * Pointer-based languages and C++ . Prerequisite: grade of "C" or better in COSC 150 or in COSC 160.

215 - Java with Data Structures 3 cr.
Data abstraction, queues, linked lists, recursion, stacks, trees, string processing, searching and sorting, and hashing. Java API support for data structures. Prerequisite: grade of "C" or better in COSC 160, and either a grade of "C" or better in MATH 135 or concurrent enrollment in MATH 135.
220 - Computer Organization and Assembly Language 3 cr.
Basic structure of computer hardware and software, data representation, addresses and instructions, control structures, device drivers, files, and macros. Prerequisite: grade of "C" or better in COSC 215 or concurrent enrollment in COSC 215.
300 - Advanced Data Structures 3 cr.
Data organization, connections between the design of algorithms and the efficient implementation and manipulation of data structures. Abstract data types, tries, B-trees, and graphs. Prerequisite: grade of "C" or better in COSC 215.
305 - Digital Logic 3 cr.

Boolean algebra and logic gates, combinational logic, decoders, encoders, multiplexers, registers, counters, memory units, flip-flops, algorithmic state machines, and digital integrated circuits. Prerequisite: grade of "C" or better in COSC 220.

308 - Numerical Analysis 3 cr.
Linear systems, interpolation, functional approximation, numeric differentiation and integration, and solutions to non-linear equations. May be counted as either mathematics or computer science, but not both. Prerequisites: grade of "C" or better in COSC 150 or in COSC 160, and in Math 116.
311 - System Programming and Design 3 cr.
Interaction between software and hardware components in an integrated system, program translation issues, assemblers, linkers, loaders, and compilers. Prerequisite: grade of "C" or better in COSC 220.
325W - Operating Systems and Computer Architecture 3 cr.
Organization of operating systems and basic computer architecture. Implementing multiprogramming, memory management, communicating with input/output devices, concurrency, synchronization, file systems and scheduling the processor. Prerequisite: grade of "C" or better in COSC 220.
340 - Problem Solving Seminar 1 cr.
Solution and discussion of problems from the ACM International Collegiate Programming Contest and other sources. Permission of instructor required. Prerequisite: grade of "C" or better in COSC 300.
350W - Computers and Humanity 3 cr.
An exploration of the impact of computers on present and future society including sociological, philosophical, and ethical issues in computer science. Prerequisite: grade of "C" or better in COSC 200, or in COSC 215, or in COSC 220.
390 - Internship 1 - 3 cr.
Internship suitably related to the program as determined by the Faculty Advisor and dependent on the approval of the Department. May be repeated for a total of up to three credits. Prerequisite: grade of "C" or better in COSC 215, must have completed at least 60 credit hours and minimum GPA of 2.50. For registration approval contact Dr. Lili Shashaani.
401 - Data Base Management Systems 3 cr.
The use, design, and implementation of database management systems. Topics include data models, current DBMS implementations, and data description, manipulation, and query languages. Prerequisite: grade of "C" or better in COSC 300.
410 - Artificial Intelligence 3 cr.

Knowledge representation and natural language processing, search strategies, design and applications of heuristics, expert systems, and applications. Prerequisite: grade of "C" or better in COSC 300.

418 - Formal Languages and Automata 3 cr.
Formal languages and their relation to automata. Regular expressions and languages, context free languages, recognition of languages by automata, Turing machines, decidability, and computability. Prerequisite: grade of "C" or better in COSC 220.
425 - Computer Graphics 3 cr.
Geometric generation of two- and three-dimensional graphics. Scan conversion, geometric transformation, clipping, interaction, curves and surfaces, and animation. Prerequisite: grade of "C" or better in COSC 300.
430 - Web-Based Systems 3 cr.
Technologies underlying the Web, including TCP/IP, HTTP, HTML, CSS, JavaScript, the DOM, XML, server-side development, client-server communication, and web services. Prerequisite: grade of "C" or better in COSC 300.
435 - Theory of Programming Languages 3 cr.
Syntactic and semantic issues in program language definition and implementation. Static vs. dynamic properties, parameter passing, recursion, and language comparisons. Prerequisite: grade of "C" or better in COSC 300.
445W - Systems Analysis and Software Design 3 cr.
Methods and tools for the structuring and modular design of large systems, organization and techniques of team programming, design evaluation and validation. Prerequisite: grade of "C" or better in COSC 300.
450 - Computer Networks 3 cr.
Network technologies, protocols, and management. Programming networked applications. The effects of the Internet and World Wide Web on computing and society. Prerequisites: grade of "C" or better in COSC 300 and in COSC 325W.
460 - Computer Security 3 cr.
Network, database, and Web security, threat models, elementary and advanced cryptology, protocol analysis, covert channels, access control and trust issues, legal and ethical issues in security. Prerequisite: grade of "C" or better in COSC 325W.
480W - Senior Project 1 - 3 cr.
An individual or group project involving a significant programming component, documentation, and written report on a topic of current interest in computer science. Prerequisites: Senior Status and grade of "C" or better in COSC 300.
491 - Selected Topics in Computer Science I 1 cr.
Topics selected in consultation with the advisor. Pre-requisite: Consent of the department chairperson.
492 - Selected Topics in Computer Science II 2 cr.
Topics selected in consultation with the advisor. Pre-requisite: Consent of the department chairperson.
493 - Selected Topics in Computer Science III 3 cr.
Topics selected in consultation with the advisor. Pre-requisite: Consent of the department chairperson.