View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

courses outside software engineering

Elective Courses in Software Engineering Program

 

Elective Courses in Software Engineering Program

 

 

Overview

 

The undergraduate software engineering program integrates technical requirements with general education requirements and electives to prepare the student for a professional career in the field, for further study, and for functioning in modern society. In the senior year, students in software engineering program may take elective courses in one or two advanced areas from Computer Systems, Data Management Systems, Graphics and Visualization, Intelligent Systems, Networking and Telecommuncations and Theory. This advanced portion is designed to meet the objectives of software engineering program by providing depth in one or two areas.

 

Curriculum

 

Software engineering encompasses theory, technology, practice and application of software in computer-based systems. To design and implement large software and system development, advanced knowledge in this field is needed. So the software engineering program includes elective courses in the advanced computer science and engineering portion. This part includes the areas of Computer Systems, Data Management Systems, Graphics and Visualization, Intelligent Systems, Networking and Telecommuncations and Theory. The computer science principles in these areas may be integrated and applied in projects. These elective courses prepare the student for a professional career in the field or graduate study.

 

These elective courses are listed in specialization courses of computer science semester conversion. Students in software engineering program may choose 4-5 courses from one area or 2-3 courses from two areas. Also, for students from other departments who want to get dual degree in software engineering program, one area of home department with depth in software development may be chosen.

 

Below are descriptions of these elective areas. For detail information and prerequisite of each course, please refer to:

http://www.cc.gatech.edu/student.services/ughandbook/qts-curriculum.html.

 

Computer System

 

This area covers operating systems concept, abstractions and implementations; pipelined processor design and hardware design of computer systems; parallel and distributed computing algorithms and systems; design and implementation of compilers, interpreters, and program analyzers.

 

Course

Credit

Faculty/TA

Equipment

CS3210 Design of Operating Systems

3

1/1

Sun

CS3220 Design and Implementation of

a Superscalar Processor

3

1/1

Sun

CS4210 Advanced Operating Systems

3

1/1

Sun

CS4220 Programming Embedded Systems

3

1/1

Sun

CS4230 Distributed Simulation Systems

3

1/1

Sun

CS4240 Compilers, Interpreters and

Program Analyzers

3

1/1

Sun

CS4760 Advanced Computer Organization

3

1/1

Sun

 

 

Data Management Systems

 

This area covers mainstream database concepts such as the ER model, relational databases, query languages and database design methodology; fundamental software components/algorithms of a database system; analysis,design and implementation of information systems; current database developments.

 

Course

Credit

Faculty/TA

Equipment

CS4400 Introduction to Database Systems

3

1/1

Sun/NT

CS4420 Database Systems Implementation

3

1/1

Sun/NT

CS4430 Information Systems Design

3

1/1

Sun/NT

CS4440 Emerging Database Technologies

and Applications

3

1/1

Sun/NT

 

 

Graphics and Visualization

 

This areas covers current and future techniques for computer graphics, electronic game design and programming; analysis of digital multimedia and digital video; motion techniques for computer animation and interactive games.

 

 

Course

Credit

Faculty/TA

Equipment

CS4450 Computer Graphics

3

1/1

SGI

CS4455 Video Game Design and

Programming

3

1/1

SGI

CS4480 Digital Video Special Effects

3

1/1

SGI

CS4495 Computer Vision

3

1/1

N

CS4496 Computer Animation

3

1/1

N

 

 

 

Intelligent Systems

 

This areas covers introduction to artificial intelligence, cognitive science, vision and robotics; knowledge-based problem solving and knowledge system engineering; machine learning techniques and applications; metaphysical and epistemological issues in the foundations, methods and implications of computing.

 

Course

Credit

Faculty/TA

Equipment

CS4600 Introduction to Intelligent Systems

3

1/1

NT/Sun

CS4495 Computer Vision

3

1/1

N

CS4610 Knowledge Systems

3

1/1

NT/Sun

CS4630 Intelligent Robotics and

Computer Vision

3

1/1

NT/Sun

CS4640 Machine Learning

3

1/1

NT/Sun

CS4650 Natural Language Understanding

3

1/1

NT/Sun

CS4752 Philosophical Issues

in Computation

3

1/1

N

 

 

 

 

Networking and Telecommunications

 

This area covers principles of computer networks; telecommunication systems and performance of data transmission systems.

 

Course

Credit

Faculty/TA

Equipment

CS3250 Computer Networking I

3

1/1

Sun

CS4250 Computer Networking II

3

1/1

Sun

CS4260 Introduction to

Telecommunications Systems

3

1/1

Network

Lab

CS4270 Data Communications

Laboratory

3

1/1

Network

Lab

 

 

 

Theory

 

This areas cover cyptography, pseudorandomness, algorithms, complexity, information theory, coding theory, computational geometry and automata theory.

 

Course

Credit

Faculty/TA

Equipment

CS4500 Theory II

3

1/1

N

CS6510 Automata Theory

3

1/1

N

CS6520 Computational Complexity

3

1/1

N

CS6550 Design and Analysis

of Algorithms

3

1/1

N

CS7510 Graph Algorithms

3

1/1

N

CS7520 Approximation Algorithms

3

1/1

N

CS7530 Randomized Algorithms

3

1/1

N