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-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)
CS-4710 Computer Graphics
–Fa
3 hours
Introduction to three-dimensional computer graphics and
computer game content creation and programming. Topics
include geometric modeling and common game engine
capabilities; techniques for enhancing realism such as local
lighting effects, texture, transparency, and physical modeling; and
common computations in the rendering pipeline such as model
transformations, clipping and culling, shading, rasterization and
collision detection. Group design project required.
Prerequisite:
MATH-2510 Discrete Math for Computer Science. Corequisite:
CS-3410 Algorithms.
(odd years) (Fee: $50)
CS-4810 Software Engineering I
–Fa
3 hours
The capstone design experience for computer science majors.
Introduction to software engineering principles focusing on
requirement development, detailed design, project scheduling and
management, quality assurance, and testing. Student teams meet
regularly to develop a project management plan, a requirements
document and a detailed design and begin to implement their
project that will be completed in CS-4820.
Prerequisite: CS-3220
Web Applications; CS-3610 Database Organization and Design;
CS-3410 Algorithms.
(Fee: $50)
CS-4820 Software Engineering II
–Sp
4 hours
Continuation of CS-4810 Software Engineering I. Student teams
will complete the implementation, testing, and release of their
capstone project, submit regular progress reports, prepare a final
report, and make a formal project presentation.
Prerequisite: CS-
4810 Software Engineering.
(Fee: $50)
CS-4950 Advanced Topics in Computer Science 1–3 hours
Selected topics in computer science at the 4000-level that
expand the depth of existing 3000- and 4000-level courses or that
expose the students to advanced concepts not taught in other
courses.
Prerequisite: permission of instructor.
CS-4980 Independent Study in Computer Science 1–3 hours
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, permission of instructor.
Computer Engineering (EGCP)
EGCP-1010 Digital Logic Design
–Fa, Sp
3 hours
Introduction to digital logic design, number systems,
Boolean algebra, Karnaugh maps, computer simulation tools,
combinational network design, flip flops, counters, state machines,
and sequential networks. Circuits are designed in class and are
built and evaluated in the laboratory. Two lecture hours and one
two-hour laboratory per week. (Fee: $100)
EGCP-2120 Microcontrollers
–Fa
3 hours
Introduction to the fundamentals of microcontrollers and
embedded systems, including microcontroller architecture,
assembly and C programming, peripheral interfacing, design and
data communications.
Prerequisite: EGCP-1010 Digital Logic
Design; CS-1210 C++ Programming.
(Fee: $100)
EGCP-3010 Advanced Digital Logic Design
–Sp
3 hours
Advanced treatment of digital logical design techniques and
practices with emphasis on rapid electronic prototyping and
effective use of advanced computer-aided design tools; schematic,
textual, and VHDL design entry; arithmetic circuits, advanced
finite-state machines, and advanced controller implementations.
Three lecture hours per week with periodic integrated laboratory;
multiple projects and laboratory experiences including a class
design contest usually involving a robot.
Prerequisites: EGCP-1010
Digital Logic Design; CS-1210 C++ Programming; junior status or
permission of instructor.
(Fee: $100)
Page
227
2015–16 Undergraduate Academic Catalog
Course Descriptions
CS-3410 – EGCP-3010