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