Courses/Catalog

From A-State Computer Science Wiki
< Courses
Revision as of 16:47, 4 January 2010 by Jeffj (Talk | contribs)

Jump to: navigation, search

This is the current course catalog for the Computer Science Department.

Undergraduate Courses

CS 1013.  Introduction to Computers
Applications of computers for general university course work. Elementary operating system usage, creation of data files, spreadsheets for mathematical and scientific data, Internet usage. Corequisites: MATH 0013. Fall, Spring, Summer.


CS 1093.  Making Connections Computer Science
Required course for first semester freshmen. Core content includes transition to college, academic performance skills, problem solving, critical thinking, self management, group building skills, and university policies. Content related to the departmental majors is also included. Fall.


CS 1114.  Concepts of Programming
Introduction to problem solving, algorithm development, and structured programming. Emphasis will be placed on problem solving and algorithm development. Designed as a first course for students seeking the Bachelor of Arts in Computer Science as well as non-majors. Prerequisites: MATH 1023. Fall, Spring.


CS 2114.  Structured Programming
First course in programming, emphasis on programming methodology, procedural abstraction, and top down design. Introduction to string processing, file input and output, recursion, and simple data structures. Prerequisites: C or better in MATH 1023. Fall, Spring.


CS 2124.  Object Oriented Programming
Second course in programming, emphasis on data abstraction. Introduction to abstract data types. Linked lists, stacks, queues and binary trees. Searching and sorting techniques. Prerequisites: C or better in CS 2114. Fall, Spring.


CS 3113.  Algorithms & Adv Data Structures
Analysis of data structures and associated algorithms. Examination of advanced tree structures, heaps, hashing techniques, and graph algorithms. Prerequisites: C or better in CS 2124 and MATH 2183, and MATH 2204 or MATH 2143 or MATH 2194. Fall, Spring.


CS 3123.  Programming Languages
Survey of organization and behavior of programming languages. Examination of data typing, control structures, syntactic representation and specification. Prerequisites: CS 2124. Spring.


CS 3213.  Assembly Language Programming
Basic concepts of computer systems and architecture. Programming and debugging of assembly language programs. Prerequisites: CS 2114. Demand.


CS 3223.  Computer Organization
Basic principles of computer architectural design including instruction set principles, pipelining, instruction level parallelism, memory hierarchy, storage systems, and multiprocessing. Prerequisites: MATH 2204, CS 2124 and EE 3333. Fall.


CS 3233.  Operating Systems
Policies, design issues, and implementation techniques for operating system software. Synchronization, process scheduling, memory and storage management, and system protection. Prerequisites: CS 3113. Spring.


CS 4113.  Software Engineering I
Techniques of design, implementation, automated tools, quality assurance, metrics, and maintenance for large scale software systems. Projects include team programming experience. Prerequisites: CS 3113. Fall.


CS 4123.  Software Engineering II
Continuation of Software Engineering I. Projects will provide team programming experience. Prerequisites: CS 4113. Demand.


CS 4133.  Compilers
Techniques for construction of compilers. BNF and EBNF representations. Lexical, syntactic and semantic analysis. Top down and bottom up parsing. Run time systems and code generation. Prerequisites: CS 3113. Fall even.


CS 4213.  Distributed Computing
Study of client server systems, distributed databases, distributed transaction processing, and distributed applications. Provides overview of recent trends in distributed object technologies. Applications will be designed and constructed using object software architectures. Prerequisites: CS 3113. Demand.


CS 4223.  UNIX Systems Programming
System level programming in UNIX systems. Prerequisites: CS 3113. Fall.


CS 4313.  Computer Networks
Issues and principles involved in the design of computer networks using the OSI reference model as a framework. Prerequisites: CS 3233. Spring.


CS 4413.  Computer Graphics I
Creation, storage, and manipulation of graphical models of objects. Implementation of graphics routines in both two and three dimensional techniques. Prerequisites: CS 3113. Spring.


CS 4423.  Computer Graphics II
Continuation of Computer Graphics I. Techniques for realistic solid modeling. Topics include hidden surface removal, shading, shadowing, reflection, refraction, and color theory. Prerequisites: CS 4413. Demand.


CS 4433.  Artificial Intelligence
Representation of knowledge and introduction to a functional programming language, search methods and control. Typical applications of artificial intelligence. Prerequisites: CS 3113. Spring odd.


CS 4543.  Database Systems
Topics include major database models, relational algebra, data independence and database normalization, entity relationship model, security, integrity, recovery, and concurrency issues, physical organization of a database. Prerequisites: CS 3113. Fall.


CS 4713.  Analysis of Algorithms
Analysis of space and time requirements of algorithms. Worst case and average case studies. Greedy algorithms and divide and conquer algorithms. Tractable and intractable algorithms. Prerequisites: CS 3113 and MATH 2214. Fall.


CS 4723.  Automata Theory
Study formal languages and equivalent models of computation, finite state automata and regular expressions, push down automata and context free grammars, pumping lemmas and closure properties, and turing machines. Prerequisites: CS 3113. Fall odd.


CS 481V.  Computer Science Seminar
Critical discussion and presentation of papers on current topics in computer science. The prerequisites will vary according to the topic selected, but all students must have taken CS 3113. Demand.


CS 482V.  Special Problems in Computer Science
Individual problems or topics in computer science arranged in consultation with the instructor must be approved by the department. Prerequisites: CS 3113. Demand.


CS 483V.  Internship
Supervised work experience participating in application system development in a business and manufacturing environment. Grade earned will be pass or fail. Prerequisites: Permission of the Computer Science faculty and CS 3113. Demand.


Graduate Courses

CS 5113.  Software Engineering I
Techniques of design, implementation, automated tools, quality assurance, metrics, and maintenance for large scale software systems. Projects include team programming experience. Prerequisites: CS 3113. Fall.


CS 5123.  Software Engineering II
Continuation of Software Engineering I. Projects will provide team programming experience. Prerequisites: CS 5113. Demand.


CS 5133.  Compilers
Techniques for construction of compilers. BNF and EBNF representations. Lexical, syntactic and semantic analysis. Top down and bottom up parsing. Run time systems and code generation. Prerequisites: CS 3113. Fall even.


CS 5213.  Distributed Computing
Study of client server systems, distributed databases, distributed transaction processing, and distributed applications. Provides overview of recent trends in distributed object technologies. Applications will be designed and constructed using object software architectures. Prerequisites: CS 3113. Demand.


CS 5223.  UNIX Systems Programming
System level programming in UNIX systems. Prerequisites: CS 3113. Fall.


CS 5313.  Computer Networks
Issues and principles involved in the design of computer networks using the OSI reference model as a framework. Prerequisites: CS 3233. Spring.


CS 5413.  Computer Graphics I
Creation, storage, and manipulation of graphical models of objects. Implementation of graphics routines in both two and three dimensional techniques. Prerequisites: CS 3113. Spring.


CS 5423.  Computer Graphics II
Continuation of Computer Graphics I. Techniques for realistic solid modeling. Topics include hidden surface removal, shading, shadowing, reflection, refraction, and color theory. Prerequisites: CS 5413. Demand.


CS 5433.  Artificial Intelligence
Representation of knowledge and introduction to a functional programming language, search methods and control. Typical applications of artificial intelligence. Prerequisites: CS 3113. Spring odd.


CS 5543.  Database Systems
Topics include major database models, relational algebra, data independence and database normalization, entity relationship model, security, integrity, recovery, and concurrency issues, physical organization of a database. Prerequisites: CS 3113. Fall.


CS 5713.  Analysis of Algorithms
Analysis of space and time requirements of algorithms. Worst case and average case studies. Greedy algorithms and divide and conquer algorithms. Tractable and intractable algorithms. Prerequisites: CS 3113 and MATH 2214. Fall.


CS 5723.  Automata Theory
Study formal languages and equivalent models of computation, finite state automata and regular expressions, push down automata and context free grammars, pumping lemmas and closure properties, and turing machines. Prerequisites: CS 3113. Fall odd.


CS 583V.  Internship
Supervised work experience participating in application system development in a business/manufacturing environment. Grade earned will be pass or fail. Prerequisites: Permission of the Computer Science faculty and CS 3113.


CS 6213.  Parallel Processing
Parallel processing and supercomputer architecture with emphasis on efficient utilization of resources. Prerequisites: CS 3223 and CS 3233. Fall even.


CS 6313.  Data Security
Methods for protection, security, and privacy of data; access controls, authentication, cryptographic controls, information fl ow controls, security kernels. Security of data in networks. Prerequisites: CS 3233. Fall odd.


CS 6413.  Solid Modeling
Examination of advanced modeling techniques with emphasis on radiosity. Techniques for rapid interactive display of a complex three-dimensional environment will be developed. Prerequisites: CS 5423 or permission of professor. Fall even.


CS 6423.  Robotic Software Control
Study of robot manipulators from mathematical and programmed control perspectives. Topics include kinematic representation, manipulator positioning, velocity control, and trajectory calculation. Prerequisites: permission of professor. Spring odd.


CS 6433.  Natural Language Processing
Data representations used in programming computers to interpret and to generate natural language text. Background from linguistics, theoretical computer science and lexical analysis; structures and algorithms for syntactical analysis, semantic analysis, and knowledge representation. Prerequisites: CS 3113.


CS 6513.  Data Compression and Indexing
Compressing, indexing and querying large collections of text and image data. Prerequisites: CS 5123 or CS 5713 or permission of instructor.


CS 6713.  Advanced Analysis of Algorithms
Theoretical space and time requirements for algorithms. Prerequisites: CS 5713 or permission of professor. Spring odd.


CS 6723.  Computability Theory
Turing machines and equivalent models of computation. The universal Turing machine and unsolvability results. Study of computable functions. Problem classification and hierarchy. Prerequisites: CS 5723 or permission of professor. Spring even.


CS 6813.  Seminar in Computer Science: (subtitle varies)
Current topics in Computer Science. Prerequisites: varies according to topic.


CS 6823.  Special Topics: (subtitle varies)
Current topics of interest to graduate computer science students. (May be repeated for credit with different subtitle.) Prerequisites: varies according to topic.


CS 688V.  Independent Study


CS 689V.  Thesis


Prerequisite Chart

Undergraduate Course Prerequisite Structure

Course Rotation

See Also


create PDF version