Home
Contact Info
News & Events
Calendars
People
Degrees
Courses
Organizations
Publications
Jobs
Research
CS Resources

 

Graduate Courses

CSc 6110. Introduction to Embedded Systems Laboratory. (4)
(Same as Phys 4110.) Prerequisites: Phys 3500; CSc 3210, or equivalent course work with consent of instructor. Topics taken from: review of basic logic functions; automatic systems; microprocessor-based systems and applications; embedded system software survey; microprocessor-based applications; digital communications; and embedded systems programming.

CSc 6210. Computer Architecture. (4)
Prerequisite: CSc 3210. Logic design, combinatorial and sequential circuits, input-output devices, memory, processors, controllers, parallel architectures, bit-slicing, reduced instruction sets.

CSc 6220. Computer Networks. (4)
Prerequisites: CSc 3320 and Math 3030. Introduction to computer networks; details of layered network protocols with emphasis on functionality and analysis. Principles of relevant state-of-the-art network standards.

CSc 6230. VLSI Design. (4)
Prerequisite: CSc 4210/6210. The basics of CMOS technology, circuit design, layout and system design. Intended to be accompanied by CSc 6250. Students will learn different design methodologies and algorithms of design synthesis, analysis, simulation and verification, principles of validation and testing of manufactured chips. Important trends in modern design such as MCM (multi-chip modules) and FPGA (field-programming gate arrays) technologies.

CSc 6250. VLSI CAD & Computer Architecture Laboratory. (4)
Prerequisite: CSc 4210/6210. Introduction to design techniques and tools to design large-scale integrated circuits. The goals are to design and analyze digital integrated circuits in CMOS technology and to use modern computer-aided design tools. The approach is to start students at the transistor level and then have them gradually build up to inverter and small logic circuits.

CSc 6260. Digital Image Processing. (4)
Prerequsite: CSc 3410. Fundamentals of image processing, including image digitization, description, enhancement, segmentation, image transforms, filtering, restoration, coding and retrieval. Concepts are illustrated by laboratory sessions in which these techniques are applied to practical situations, including examples from industrial and biomedical image processing.

CSc 6270. Introduction to Digital Signal Processing. (4)
Prerequisite: CSc 4210/6210. This course covers the nature of information, signals, transforms, and applications. Topics include analog to digital and digital to analog conversion, data storage (such as the audio format MP3), data transforms, and filters. Applications include noise reduction, signal analysis, volume control (e.g., audio signals), and compression. We will be using computer programs to handle mathematical modeling and calculations.

CSc 6310. Parallel and Distributed Computing. (4)
Prerequisite: CSc 2311. Introduction to various parallel and distributed computing paradigms, algorithms, architectures, programming environments, and tools. Hands-on programming on both shared-memory and message-passing parallel architectures.

CSc 6320. Operating Systems. (4)
Prerequisite: CSc 3320. Introduction to operating systems concepts. Topics may include multiprogramming, resources allocation and management, and their implementation.

CSc 6330. Programming Language Concepts. (4)
Prerequisites: CSc 2311 and 3210. Fundamental programming language concepts, including syntax versus semantics, binding time, scopes, and storage management.

CSc 6340. Introduction to Compilers. (4)
Prerequisite: CSc 4330/6330. Survey of topics related to compiler design, including parsing, table processing, code generation, and optimization.

CSc 6350. Software Engineering. (4)
Prerequisite: CSc 3410. Techniques used in large scale scientific or technical software development, including requirements analysis, specification, systems design, implementation, testing, validation, verification, and maintenance.

CSc 6360. Network-Oriented Software Development. (4)
Prerequisite: CSc 3410. Object-oriented design of network-oriented distributed applications. Review of middleware technologies used in building distributed systems by providing interoperability among applications running on multiple networks and platforms from embedded systems to servers. Programming in middleware using state-of-the-art technologies.

CSc 6510. Automata. (4)
Prerequisite: CSc 2311. Theory of computing devices and the languages they recognize.

CSc 6520. Design and Analysis of Algorithms. (4)
Prerequisite: CSc 3410. Techniques for designing efficient algorithms; analysis of algorithms; lower bound arguments; and algorithms for sorting, selection, graphs, and string matching.

CSc 6610. Numerical Analysis I. (3)
Prerequisites: Math 2215 and the ability to program in a high-level language. Nature of error; iteration; techniques for nonlinear systems; zeros of functions; interpolation; numerical differentiation; Newton-Cotes formulae for definite integrals; and computer implementation of algorithms.

CSc 6620. Numerical Analysis II. (3)
Prerequisite: Math 3030 or 3435 and the ability to program in a high-level language. Gaussian Elimination for linear systems; least squares; Taylor, predictor-corrector and Runge-Kutta methods for solving ordinary differential equations; boundary value problems and partial differential equations.

CSc 6640. Fundamentals of Bioinformatics. (4)
(Same as Biol 6640 and Chem 6640.) Prerequisite: Biol 3800 or written approval of instructor.  A "hands-on" approach to bioinformatics using PCs, the Internet, and computer graphics to analyze, correlate, and extract information from biological databases, emphasizing sequence and structure databases for protein and nucleic acids, and introducing the computing skills necessary for bioinformatics. Topics include: sequences and three-dimensional structures of proteins and nucleic acids, the major databases, algorithms for sequence comparison, data mining, and prediction of structure and function.

CSc 6710. Database Systems. (4)
Prerequisite: CSc 3410. An introduction to the fundamental concepts and principles that underlie the relational model of data. Topics include formal query languages; SQL; query optimization; relational database design theory, physical database design, integrity, security, and concurrency control.

CSc 6720. Human-Computer Interaction. (4)
Prerequisite: CSc 2311. Techniques and methodologies for development of user interfaces in software systems; topics include interaction styles, interaction devices, user documentation, and interface assessment.

CSc 6730. Scientific Visualization. (4)
Prerequisite: For computer science majors, CSc 2311; for all other majors, consent of the instructor. Use of sophisticated computer graphics techniques and software packages to display, transform, and analyze data; mapping concepts, glyphs, and grids; rendering techniques.

CSc 6810. Artificial Intelligence. (4)
Prerequisites: CSc 3410 and 4330/6330. An overview of techniques and methodologies in the field of artificial intelligence. Topics may include search strategies, problem solving, natural language processing, logic and deduction, memory models, learning, expert systems, knowledge representation, and robotics.

CSc 6820. Computer Graphics Algorithms. (4)
Prerequisites: CSc 2311 and Math 3030. Algorithms used for computer graphics programming. Windows, viewpoints, modeling transformations in two and three dimensions, viewing transformations, and hidden surface elimination. Graphics standards for hardware and software systems.

CSc 6830. System Simulation. (4)
Prerequisite: CSc 2311 and Math 3030. Concepts and methods for developing simulation models of discrete systems, including development of algorithms for program execution for statistical analyses of sample event sequences, for random number generation, and for computer sampling. Translation of models into high level language and a simulation language.

CSc 6840. Computer Graphics Imaging. (3)
(Same as Comm 6840.) Prerequisite: consent of instructor. Modeling techniques include lofting, extrusion, surfaces of revolution, constructive solid geometry, procedural modeling, metaballs and others. Image synthesis techniques include scan-line graphics, ray tracing, and radiosity. Also covered are anti-aliasing, surface mapping, shadowing, lighting, and other relevant topics.

CSc 6841. Computer Animation. (3)
(Same as Comm 6841.) Prerequisite: CSc 6840. 3-D computer animation including classical animation techniques, cel animation, key framing, storyboarding, physically based modeling, character animation, lighting, camera placement and motion, motion blur, compositing, and other relevant topics.

CSc 6999. Directed Readings. (1-4)
Prerequisite: Consent of instructor.

CSc 7350. Computer Science I. (3)
An introduction to a high level programming language and basic data structures with a structured approach to problem solving, algorithmic analysis, and program development.

CSc 7351. Computer Science II. (3)
Prerequisite: CSc 7350. An introduction to a high level programming language and basic data structures with a structured approach to problem solving, algorithmic analysis, and program development.

CSc 8050. Statistics for Bioinformatics. (3)
(Same as Biol 8050 and Stat 8050.) Prerequisite: Math 4544/6544 or Biol 4744/6744, or its equivalent. Introduction of computational biology and microarray informatics, gene expression analysis using microarray for transcriptional profiling, use of multivariate statistics and computer algorithms for different clustering techniques, important role of statistical packages, algorithms for calculating statistical quantities and statistical research in this area.

CSc 8210. Advanced Computer Architecture. (4)
Prerequisite: CSc 4210/6210. Multiprocessors (including shared memory as well as distributed memory systems), vector processing, program and network properties, scalable performance, memory hierarchy (including cache memory organization), pipelining, and bus systems. Topical research papers will also be discussed.

CSc 8215. High-Performance Arithmetic. (4) 
Prerequisite: CSc 4210/6210. Algorithms and hardware implementation for addition and subtraction, multiplication and division, floating-point operations, fast addition and multiplication schemes such as carry look ahead principle, Booth algorithm, residue arithmetic, and fast addition and multiplication schemes using non-conventional arithmetic.

CSc 8220. Advanced Computer Networks. (4)
Prerequisite: CSc 4220/6220 or consent of the instructor. Basics of queueing theory, network simulation, analysis methods, current network protocols, their implementation, potential extensions and improvements. Survey of current literature on performance analysis.

CSc 8221. Optical and Wireless Networks. (4) 
Prerequisite: CSc 4220/6220. Topics may include various optical and wireless networks, enabling technologies, multiplexing techniques, WDM, broadcast networks, wavelength-routed networks, network architectures, protocols, personal communication service (PCS) networks, location management, network algorithms, and optimization problems.

CSc 8240. Reconfigurable Networks. (4)
Prerequisites: CSc 4210/6210 and CSc 4520/6520. Introduction to dynamically reconfigurable models, their topological properties, and algorithmic techniques. Existing algorithms for these models will be studied, as well as their capabilities and limitations.

CSc 8260. Advanced Image Processing. (4) 
Prerequisite: CSc 4260/6260. Advanced research topics of image processing, which include image digitization, description, enhancement, segmentation, image transforms, filtering, restoration, coding, and retrieval.

CSc 8270. Digital Signal Processing. (4) 
Prerequisite: CSc 4210/6210. The nature of information, signals, transforms, and applications. Topics include periodic sampling, the Fourier transform, finite impulse response filters, signal averaging, the Haar transform, and the wavelet transform.

CSc 8320. Advanced Operating Systems. (4)
Prerequisite: CSc 4320/6320. Advanced operating systems concepts and mechanisms. Topics may include process synchronization, process deadlock, distributed operating systems, atomicity, commitment, recovery, fault-tolerance, distributed leader election, distributed manual exclusion algorithm, and concurrency control.
 
CSc 8330. Principles of Programming Languages. (4)
Prerequisite: CSc 4330/6330. Advanced treatment of programming language issues. Topics may include language design, formal specification of semantics, concurrent programming, object-oriented programming, applicative programming, and logic programming.

CSc 8350. Advanced Software Engineering. (4)
Prerequisite: CSc 4350/6350. Advanced concepts in software engineering. Topics may include new lifecycle paradigms, code reusability issues, formal specifications, new design methodologies, and others.

CSc 8370. Data Security. (4)
Prerequisites: CSc 4320/6320 or 4210/6210 or 4220/6220. The basics of data security and integrity in computer systems. The theoretical basis of data security, including concepts in cryptography, network protocols, operating systems, and authentication. Topics will include the structure, mechanism, and detection of computer viruses and worms; the use of firewalls and packet filters; common security lapses in operating systems and their prevention; checksums and basic cryptography; and related ideas such as buffer overflow attacks and indirect assembly programming. "Real-world" examples of attacks will be analyzed and discussed.

CSc 8510. Theory of Computation. (4)
Prerequisite: CSc 4510/6510. Finite automata and Turing machines as formal models for computation. Topics may include recursion, program verification, program schemes, and complexity.

CSc 8520. Applied Combinatorics and Graph Theory. (4) 
Prerequisite: CSc 4520/6520. Development of combinatorial and graphical algorithms. Techniques for the study of complexity with application to algorithms in graph theory, sorting and searching.

CSc 8530. Parallel Algorithms. (4)
Prerequisite: CSc 4520/6520. Techniques for designing and analyzing parallel algorithms on shared-memory and other models. Topics may include basic techniques, lists, trees, searching, sorting, graphs, and randomized algorithms.

CSc 8550. Advanced Algorithms for VLSI CAD/Communication Networks. (4)
Prerequisite: CSc 4520/6520. Advanced data structures and algorithms. Heuristics and approximation algorithms for physical design of VLSI CAD. Hierarchical placement (top-down and bottom-up techniques) and clock routing. Tools for design methods of field-programmable gate arrays. Protocols for improvement of communication networks survivability and reliability.

CSc 8610. Advanced Numerical Analysis. (3)
Prerequisites: Math 4435/6435 and CSc 4610/6610. Advanced topics in numerical analysis. Stability and conditioning, discretization error, convergence. Examples are drawn from linear algebra, differential and nonlinear equations.

CSc 8620. Numerical Linear Algebra. (3)
Prerequisite: Math 4435/6435 and CSc 4610/6610. Computational aspects of linear algebra. Matrix factorization, least squares, orthogonal transformations, eigenvalues and methods for sparse matrices.

CSc 8630. Bioinformatics. (4)
(Same as Biol/Chem 8630.) Prerequisite: consent of instructor.  Three lecture and two laboratory hours a week. The analysis, correlation, and extraction of information from biological and chemical databases with emphasis on the sequence and structure of proteins and nucleic acids. Principles involved in molecular modeling of macro-molecules will be described with practical examples and discussion.

CSc 8710. Deductive Databases and Logic Programming. (4)
Prerequisite: CSc 4710/6710. An introduction to the area of deductive databases and logic programming. Topics include syntax of logic programs and deductive databases, model-theoretic, proof-theoretic and fixpoint semantics, operational semantics such as bottom-up evaluation and SLD-resolution techniques, query optimization; negation, constraint checking, and applications of deductive databases.

CSc 8711. Databases and the Web. (4)
Prerequisite: CSc 4710/6710 or by consent of the instructor. Application of database technology to access information on the World Wide Web. Topics include Common Gateway Interface (CGI), HTML form processing, accessing databases from the Web, search engines, query languages for Web data, semi-structured data model, and XML.

CSc 8712. Advanced Database Systems. (4)
Prerequisite: CSc 4710/6710. Advanced topics in database systems will be discussed: transaction processing, atomicity-consistency-isolation-durability (ACID) requirements of transactions, transaction processing in Internet, distributed databases, transaction models, concurrency control, middleware in transaction processing systems, application integration, semi-structured data, on-line analytical processing, data warehouses, real-time and active databases.

CSc 8720. Advanced Human-Computer Interaction. (4)
Prerequisites: CSc 4350/6350 and CSc 4720/6720. Current trends in user interface technology; topics include alternative interaction devices, user interface tools, and interface modeling techniques.

CSc 8810. Computational Intelligence. (4)
Prerequisite: CSc 4810/6810. Introduction to computational intelligence techniques and their applications. Major topics include soft computing, granular computing, knowledge discovery and data mining, distributed intelligent agents, etc. How to implement an actual intelligent system is also covered.

CSc 8820. Advanced Graphics Algorithms. (4)
Prerequisite: CSc 4820/6820. Advanced topics in computer graphics, primarily for raster graphics systems, including raster scan conversion, three dimensional clipping, removal of hidden lines and surfaces, solid modeling, shading, texturing, and the use of fractals.

CSc 8830. Mathematical Models and Simulation. (4)
Prerequisite: Math 4830/6830. Construction of mathematical models for simulating real systems. Emphasis is on the probabilistic and statistical properties of the models. Models are applied with computational algorithms using a standard simulation language.

CSc 8900. Seminar in Computer Science. (1)
Discussion of current research in computer science.

CSc 8910. Computer Science Topics Seminar. (1-3)
May be repeated if topic varies.

CSc 8950. Directed Research in Computer Science. (1-15)
Prerequisite: consent of the instructor.

CSc 8980. Topics in Computer Science. (4)
Prerequisite: consent of the instructor. May be taken more than once if topics are different.

CSc 8981. Research in Computer Science. (4)
Prerequisite: consent of the instructor. May be repeated.

CSc 8982. Lab in Computer Science. (4)
Prerequisite: consent of instructor. May be repeated.

CSc 8984. Directed Readings in Computer Science. (4) 
Directed readings in special areas of computer science. May be taken twice if readings are from different areas.

CSc 8999. Thesis Research. (1-9)
Prerequisite: consent of thesis advisor.

CSc 9999. Doctoral Dissertation Research. (1-20)

 
 

Copyright © 1999-2003 Georgia State University. All rights reserved.
This page last updated on August 27, 2003