Course Inventory Beginning Fall 2006
1331 Principles
of Data Processing (3-0). Basic data processing techniques,
data representation schemes, computer concepts, computer components,
problem solving techniques, programs and languages designed to familiarize
the student with broad concepts and applications of data processing.
1341 Fundamentals of Programming (3-0) (formerly 2316). For non-majors, introductory computer programming techniques using a modem, object-oriented programming language.
1351 Java Programming (3-0) (formerly 3390). Programming concepts and
development in the Java language.
1361 Introduction to Computer Science I (3-0) (formerly 2301). The
concepts and properties of algorithms for solving numerical and non-numerical
problems. Introduction to computer and programming systems, including
the development, debugging, and verification of programs, representation
of data, computer characteristics and organization.
1362 Introduction to Computer Science II (3-0) (formerly 2323). Continuation of
CS 1361. Problem solving and program development techniques emphasizing modular design. Includes advanced programming topics such as class design, records, strings, pointers, and bit manipulation.
Prerequisites: Computer Science 1361.
2305 Data Structures (3-0) (formerly 3341). Study of basic data structures
and their applications such as: linear structures (arrays, lists, stacks,
queues) and non-linear structures (trees, graphs); sequential and linked
storage representation methods; sorting and searching algorithms; and
techniques of algorithmic analysis.
Prerequisite: Computer Science 1362.
2311 Computer Organization and Programming (3-0). Basic
computer organization with emphasis on machine representation of data
and instructions; programming in assembly and machine-oriented languages
for real and simulated computers.
Prerequisite: Computer Science 1362.
3302 Introduction to Systems Programming (3-0). Advanced
assembly language techniques, including macros, conditional assembly,
levels of I/O, and file structures. Evolution of systems programming,
assemblers, and the assembly process. Linkers, loaders, and program
translation by interpretation and generation.
Prerequisites: Computer Science 2305, 2311.
3311 Data Base Management (3-0) (formerly 4341). Basic data base concepts,
organization, and definitions; data description languages; relational
data base concepts and examples; comparison of data base systems.
Prerequisite: Computer Science 1362.
Prerequisite: Computer Science 1362.
3331 Programming Languages (3-0). An introduction to the syntax and semantics of programming languages. Actual programming languages may be used to illustrate the language concepts.
Prerequisite: Computer Science 2305.
3344 Computer Architecture (3-0). Study of the hardware components of a computer system and survey of various computer architectures. Topics may include instruction set design, computer arithmetic, and microprogramming.
Prerequisite: Computer Science 2311.
4091 Research: 1 to 6. A specialized course providing research opportunities for superior students majoring in computer science.
Prerequisite: Senior standing and consent of the department head is required.
4171 Internship. The student will participate in a part-time computing position with a cooperating business or government agency whose program has been approved by the CS Department. The internship requires a minimum of ten hours per week. The course may be repeated twice for credit. Grading will be on a pass/fail basis.
Prerequisite: Junior or senior CS major with at least 18 semester hours in CS, 12 of which must be in residence. Additionally, consent of the department head is required.
4301 Algorithmic Languages and Compilers (3-0). Formal description of algorithmic languages, compilation techniques, syntactic analysis, code generation, storage allocation, syntax-directed compilers, compiler-building systems.
Prerequisites: Computer Science 2305, 2311.
4302 Operating Systems (3-0). A study of the design and implementation of operating systems; analysis of system resource management, including the memory, processor, device, and information management functions.
Prerequisites: Computer Science 2305, 2311.
4306 Software Engineering (3-0). Introduction to the fundamental concepts of computer software development; programming methodology; software reliability; performance and design evaluations, software project management; program development languages, tools and standards.
Prerequisite: Senior standing and Computer Science 2305.
4308 Computer Graphics (3-0). Study of hardware and software found in graphics systems. Topics such as line and curve drawing, text generation, transformation methods for two and three dimensional systems, fill algorithms, fractal curves and hiddenline algorithms.
Prerequisites: Computer Science 2305, Mathematics 1321 or 1362.
4312 Internet Technologies (3-0). Technologies that make up the Internet including servers, clients, protocols, browsers and mechanisms for executable content.
Prerequisite: Computer Science 2305.
4314 Client/Server Programming (3-0). Developing client and server applications that work together. A project oriented course in which each student will be expected to design and program both the server and client of at least one application.
Prerequisite: Computer Science 2305.
4316 Visual Programming (3-0). Programming in and for a visual or GUI environment. Event-driven objects including mouse and window events.
Prerequisite: Computer Science 1341 or 1361.
4318 Artificial Intelligence (3-0). Fundamental concepts and techniques of intelligent systems; representation and interpretation of knowledge of a computer; search strategies and control.
Prerequisite: Senior standing and Computer Science 2305.
4381 Special Topics in Computer Science (3-0). Contemporary applications and theory in computer science. (May be repeated once for credit when the topics vary.)
Prerequisite: Computer Science 2305.