2015-16 Catalog

Computer Science


COSC 1100. Transitioning to University Studies in Computer Science. 1 Credit Hour (Lecture: 1 Hour, Lab: 1 Hour).

Practical study designed to prepare the student for university life, aid in the development of skills for academic success, promote personal growth and responsibility, and encourage active involvement in the learning process from an individual college perspective. These skill sets are presented in the context of engineering and computer science disciplines.

COSC 1302. Introduction to Computer Science. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

History of computers and of their applications in a variety of fields, both as PCs and as embedded systems. Overview of programming paradigms. Overview of today's most dynamic computer-related technologies, including communication networks and the Internet. A modern programming language is used to present types of problems that can be solved with computers, the underlying algorithms, and the fundamental limitations. We adopt early in this course the information-centric viewpoint, exploring the role of computers in all stages of the information life-cycle. Students apply their newly-acquired programming skills to performing basic information-processing tasks. Lab fee $15.

COSC 1310. Procedural Programming. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduces the fundamental concepts of structured programming. Topics include software development and methodology, data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging. Prerequisite: two years of high school algebra or MATH 1314. Lab fee $2.

COSC 2321. Object Oriented Programming. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Applies the object-oriented programming paradigm using one or more object oriented programming languages, focusing on the definition and use of classes, interfaces, data encapsulation, inheritance, and polymorphism. An introduction to object-oriented design is presented. Prerequisite: COSC 1310. Lab fee $15.

COSC 2331. Introduction to Java Programming. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

An introduction to the Java programming language. The core elements of programming are covered including control statements, primitive data elements and structures, program structure using methods, basic input and output, and the software development process. The essential object oriented programming language constructs are introduced, focusing on the definition and use of classes, interfaces, data encapsulation, inheritance, and polymorphism. Prerequisite: MATH 1314 Lab fee: $2.

COSC 2341. Data Structures. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Application of programming techniques, introducing the fundamental concepts of data structures and algorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis. Prerequisites: 3 hours of programming language Lab fee $2.

COSC 2448. Introduction to Digital Systems Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Combinational and sequential digital system design techniques; programmable logic devices; computer components (ALU, memory, IO circuits); hardware description language (VHDL); introduction to machine and assembly languages. Credit for both COSC 2448 and ENPH 2448 will not be awarded. Prerequisite: One semester of programming language. Lab fee $15.

COSC 3304. Topics in Computer Systems. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

A study of selected topics in computer systems including programming languages, programming techniques, or other specialized topics. Normally only one major topic will be considered per offering. May be repeated once for credit as topics vary. Prerequisite: 6 hours of COSC or approval of department head. Lab fee $15.

COSC 3330. Game, Graphics and GUI Development. 3 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Covers the principles and techniques used to develop GUI-based applications: window creation, dialog boxes, menus and controls. Introduces 2D and 3D graphics. Introduces the main building-blocks of game design, from a programmer's perspective, such as character animation, scene navigation, shading, modeling, game rules. Prerequisite: COSC 2331 and COSC 2341Lab fee: $2.

COSC 3344. Computer Applications in Analysis. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Numerical algorithms in a general-purpose computer language (C) and a specialized numerical language (MATLAB); binary representations of integers, floating-point numbers and characters; solutions to specific and general polynomial equations; regression and iteration techniques; approximate derivation and integration; error analysis; linear systems and matrix algorithms; other selected numerical algorithms. Prerequisites: MATH 2414 and one semester of programming. Lab fee $15.

COSC 3345. Computer Graphics. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Graphics architectures and data structures, color, matrix-based geometry in 2 and 3 dimensions, clipping, segmentation, interaction handling, visible surface determination, scene modeling and animation. Prerequisite: COSC 2341; Co-requisite: MATH 3332. Lab fee $15.

COSC 3351. Embedded Systems. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

The design and development of embedded applications and systems. Hardware/software interface, embedded operating systems, and support software. Prerequisite: COSC 3443. Lab fee $15.

COSC 3380. Operating Systems. 3 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Introduction to the design and development of operating systems. Analysis of current system software technology, including process management, memory organization, security, and file systems. Prerequisites: COSC 2331 and COSC 2341Lab fee $2.

COSC 3443. Computer Architecture. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Hardware and software structures found in modern digital computers. Instruction set architecture, hardwired design of the processor, assembly language programming, microprogramming, I/O and memory units, analysis of instruction usage, and hardware complexity. Credit for both COSC 3443 and ELEN 3443 will not be awarded. Prerequisite: COSC 2448 or ELEN 2448. Lab fee $15.

COSC 3489. Introduction to Software Engineering. 4 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours). [WI]

Object oriented software development process, requirements analysis, software design concepts and methodologies, object oriented programming, and debugging. Lab fee: $15.

COSC 4086. Computer Science Problems. 1-4 Credit Hours (Lecture: 1-3 Hours, Lab: 0-2 Hours).

Special problems in computer science. Work may be either theory or laboratory. May be repeated with the approval of the department head for additional credit when fewer than four credits have been earned. Prerequisite: 9 hours of computer science.

COSC 4390. Advanced Topics in Computer Science. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Special topics in computer science, such as artificial intelligence, security, robotics, human-computer interaction. May be repeated for additional credit with approval of the department head. Prerequisites: 9 hours of computer science. Lab fee $15.

COSC 4401. Database Theory and Practice. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Fundamental types of database models, with emphasis on relational databases. SQL, conceptual modeling, relational algebra, functional dependency theory, normalization and normal forms. File and data management principles underlying database construction. Optimization algorithms and indexing. Prerequisites: COSC 2341 or MATH 3310 and 3 hours programming language. Lab fee: $2.

COSC 4441. Microprocessor System Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Introduction to microprocessors; 8/16 bit single board computer hardware and software designs; chip select equations for memory board design, serial and parallel I/O interfacing; ROM, static and dynamic RAM circuits for no wait-state design; assembly language programming, stack models, subroutines and I/O processing. Credit for both COSC 4441 and ELEN 4441 will not be awarded. Prerequisite: ELEN 2448 or COSC 2448. Lab fee $15.

COSC 4451. Distributed Applications. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

A study of the architecture and design of distributed applications. N-tier application and supporting technologies are investigated including client/server architecture, supporting languages, transaction processing, and distribution of processes. Prerequisites: COSC 2331 and COSC 2341. Lab fee $2.

COSC 4478. Computer Networks. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours). [WI]

Bottom-up presentation of computer network hardware and protocols, going through the five main layers: physical, data link, network, transport, and application. Special emphasis is placed on the medium access control sub-layer for local area networks, IP routing, security and modern wireless access technologies. Prerequisite: COSC 2341 and MATH 2414 . Lab fee $2.

COSC 5330. Simulation. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduction to simulation with emphasis on simulation methodology, random number generation, time flow mechanisms, sampling techniques, and validation and analysis of simulation models and results. Simulation languages and their applications will be investigated. Prerequisites: MATH 1342, COSC 2341, and Graduate standing. Lab fee $15.

COSC 5360. Artificial Intelligence. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduces representations, algorithms and architectures used to build intelligent systems. Predicate calculus, state-space representation and search, heuristic search, knowledge-based problem-solving, symbol-based and connectionist machine learning, intelligent agents, robotics. Prerequisites: MATH 1342, COSC 2341. Lab fee $15.