COMPUTER SCIENCE

COSC 111 - INTRODUCTION TO COMPUTER SCIENCE

An introduction to algorithms and programming using a contemporary programming language such as Python. Students learn object-oriented problem-solving, properties and qualities of algorithms, the software life cycle, data types, flow control, arrays, events, input, output, and interaction.  By the end of the course, students will have written several computer programs and will have been exposed to many of the issues of interest to computer scientists. Co-requisite: MATH 102 or higher

3 credits (3 lecture hours), fall semester

COSC 111L - INTRODUCTION TO COMPUTER SCIENCE LABORATORY

Hands-on sessions where students apply the concepts and techniques covered in the lecture portion of the course. Students develop interactive applications with an object-oriented language such as Python that include graphics, user interfaces, simple games, and calculations.

1 credit (2 laboratory hours), fall semester

COSC 112 – ELEMENTARY DATA STRUCTURES

Continuation of COSC 111 with emphasis on abstract data types and their implementation. Includes linked lists, stacks, queues, and trees, design and testing principles and software interfaces.

Prerequisite: COSC 111 or equivalent with a grade of ‘C’ or better

4 credits (4 lecture hours), spring semester

COSC 201 - PROGRAMMING WITH C

General introduction to fundamentals of programming with the C programming language in a UNIX environment. Topics include: syntax and semantics, identifiers, data types, functions, arrays, strings, pointers, structures, unions, macros, and applied data structures. Emphasis is on systems programming and the use of standard libraries.

Prerequisite: COSC or CIS major with programming experience or permission of instructor

3 credits (3 lecture hours), spring semester

COSC 211 - COMPUTER GRAPHICS TECHNIQUES

General introduction to the elements and techniques of creating programs that produce graphic images or analyze graphic content. Covers the basic shapes (points, lines, poly-objects, text, and circles) and transformations, and then advances to user interaction, animation, three-dimensional images, fractals and scene analysis.

Prerequisite: Knowledge of Java or similar language and permission of instructor

3 credits (3 lecture hours), fall semester

COSC 221 - ASSEMBLY LANGUAGE PROGRAMMING

Basic concepts of computer systems, computer architecture, and programming in an assembly language. Representation and storage of information; components of the hardware; CPU architecture; instruction sets; addressing modes; using the debugger, linking modules, and macros; I/O ports and interrupts; DOS and BIOS services.

Prerequisites: COSC 111 or equivalent, and MATH 145, or permission of instructor

3 credits (3 lecture hours), fall semester

COSC 231 - ADVANCED PROGRAMMING TECHNIQUES

Utilization and expansion of analysis and programming techniques developed in previous courses. This course covers various topics of current interest such as neural networks, genetic algorithms, artificial intelligence, finite state machines, and non-procedural languages. More sophisticated problem-solving techniques are utilized to address typical computing situations.

Prerequisite: COSC 112 with a grade of C or better, or permission of instructor

3 credits (3 lecture hours), spring semester

COSC 232 - SOFTWARE DEVELOPMENT INTERNSHIP

Interns develop instructional interactive software applications for use by other departments on campus. Working as a team, interns learn firsthand about designing, creating, delivering, documenting, and maintaining software in a business-like environment.

Prerequisite: COSC 112 and permission of instructor

1-3 credits (1-3 laboratory hours), fall or spring semester