Background Image
Table of Contents Table of Contents
Previous Page  235 / 308 Next Page
Information
Show Menu
Previous Page 235 / 308 Next Page
Page Background

School of Engineering and Computer Science

Course Descriptions

Computer Science (CS)

CS-1210 C++ Programming

–Fa, Sp

2 hours

Introduction to computer programming, software engineering

principles, structured program design and implementation, using

the C++ programming language; students will become familiar

with common commands for managing the file system and

constructing programs in the Linux operating system. Two lecture

hours and one one-hour laboratory per week. (Fee: $50)

CS-1220 Object-Oriented Design Using C++

–Fa, Sp

3 hours

Continuation of CS-1210 C++ programming to include pointers,

and abstract data types; advanced topics include exception

handling, event-driven programming, and graphical user interface

(GUI); principles of object-oriented design are applied to

programming tasks in both the Linux and Windows environments.

Prerequisite: CS-1210 C++ Programming.

(Fee: $50)

CS-2210 Data Structures Using Java

–Fa, Sp

3 hours

Introduction to the proper use of data structures for

developing efficient software; data structures include stacks,

queues, priority queues, hash tables, trees, and graphs.

Students will develop skill in object-oriented design and the Java

programming language. Design project required.

Prerequisite: CS-

1220 Object-Oriented Design Using C++.

(Fee: $50)

CS-3310 Operating Systems

–Fa, Sp

3 hours

A state-of-the-art survey of operating system principles. Covers

fundamental technology and contemporary design issues such as

threads, real-time systems, multiprocessor scheduling, distributed

systems, and security. Course content is developed through

lectures, student research of the relevant literature, presentations,

and programming projects using both C++ and Java.

Prerequisite:

CS-1220 Object-Oriented Design Using C++.

(Fee: $50)

CS-3320 Linux Systems Programming

–Fa

3 hours

A detailed look at the Linux Operating System, including

basic system administration and advanced operating system

concepts. Students will gain proficiency in C programming and

in the modification of the Linux kernel and drivers. Students will

also gain an in-depth look at the security measures provided by

the Security-Enhanced Kernel.

Prerequisites: CS-1220 Object-

Oriented Design Using C++; CS-3310 Operating Systems.

(Fee:

$50)

CS-3350 Foundations of Computer Security

–Sp

3 hours

Introduction to computer security, including basic concepts,

security policy, access control, authentication and key control,

and cryptography. Students will complete several programming

assignments.

Prerequisites: CS-1220 Object-Oriented Design

Using C++.

(Fee: $50).

CS-3410 Algorithms

–Fa

3 hours

Introduction to classical algorithms that have broad application

in solving computer science problems; topics include analysis of

algorithms, advanced data structures, graph algorithms, numerical

methods, and NP-completeness.

Prerequisite: CS-2210 Data

Structures Using Java; MATH-2510 Discrete Math for Computer

Science

(Fee: $50)

CS-3510 Compiler Theory and Practice

–Sp

3 hours

Introduction to the foundational technology of modern

compilers, with emphasis on underlying theory and practical

techniques for implementing a compiler by applying object-

oriented and appropriate data structures. Design project typically

developing a compiler is required.

Prerequisite: CS-3410

Algorithms.

(Fee: $50)

CS-3610 Database Organization and Design

–Sp

3 hours

Introduction to the analysis, design, and implementation of

relational databases and the Structured Query Language (SQL);

topics include data modeling techniques, data model to logical

schema conversion techniques, relational algebra, SQL, database

file organizations, query evaluation, transaction management, and

client-server application architectures. Design project required.

Prerequisites: CS-2210 Data Structures Using Java. Corequisite:

MATH-2510 Discrete Mathematics for Computer Science.

(Fee:

$50)

CS-3920 Computer Science Internship

–Fa, Sp

1–3 hours

An opportunity for a computer science student to work closely

with an industrial advisor. Specific attention is given to solving

a particular problem(s) in the industry or firm. A faculty advisor

assists in supervising and approving the internship, including

assessing the number of credit hours. A final report (approximately

seven pages per credit hour) describing the experience, including

the problem and solution, is required. Must be arranged with a

faculty sponsor and work supervisor before starting. No more

than one hour of CS-3920 can be used to fulfill program technical

elective requirements.

Prerequisites: junior or senior computer

science major status; faculty advisor permission.

CS-3950 Topics in Computer Science

–Fa, Sp, Su

1–3 hours

Selected topics in computer science at the 3000-level that will

complement or extend existing 2000- and 3000-level courses

or expose students to topics not taught in other courses. Topics

may be proposed by the computer science faculty or students.

Prerequisite: permission of instructor.

CS-3980

1–3 hours

Independent Study in Computer Science

–Fa, Sp, Su

Opportunity to perform independent study or research in

computer science and allied fields of application. A formal

proposal for study must be approved by the faculty advisor before

registering for this course.

Prerequisites: junior or senior computer

science or engineering major status, and permission of instructor.

CS-3220 Web Applications

–Sp

3 hours

Introduction to the design and implementation of web-based

applications. Technologies such as HTML5, CSS3, Javascript,

JQuery, PHP, Java Servlets, XML, and MySQL are explored.

Multiple design projects required.

Prerequisite: CS-2210 Data

Structures Using Java.

(Fee: $50)

CS-4310 Cyber Defense

–Sp

3 hours

This course covers the best practices of cyber defense,

including wired and wireless network security fundamentals, the

installation, configuration, and administration of intrusion detection

and prevention systems and firewalls for both Windows and Linux

environments, and operating system and web server hardening.

Prerequisites: CS-1220 Object-Oriented Design Using C++; CS-

3310 CS-3310 Operating Systems.

(Fee: $50)

CS-4330 SoftWare Security

–Fa

3 hours

A detailed look at issues involved in providing secure software

systems. Students will study principles and practices of software

development that result in software that is robust and secure from

attack. Students will learn techniques for analyzing software to

determine whether it contains weaknesses that are vulnerable

to exploitation. Students will also explore reverse engineering

of software to understand the design of an existing software

component to determine its security and whether it could contain

malware.

Prerequisites: CS-3310 Operating Systems; CS3350

Foundations of Computer Security.

(Fee: $50)

CS-4410 Parallel Computing

–Fa

3 hours

Introduction to the exploitation of parallelism to solve

computational intensive problems; emphasis is placed on both the

message passing (using MPI) and the shared memory paradigms;

projects are required using both paradigms. Crosslisted as CS and

EGCP.

Prerequisites: CS-3310 Operating Systems. Corequisite:

CS-3410 Algorithms; permission of instructor.

(Fee: $50)

2016–17 Undergraduate Academic Catalog

Page

231

Course Descriptions

CS-1210 – CS-4410

ENGINEERING AND COMPUTER SCIENCE