An upgrade to your Flash Player is required.

Please click here to visit the Adobe site and download the free Flash player for your Web browser

Majors

Computer Science Major

Return to academic major description.

SUGGESTED COURSE SEQUENCE:
3rd-Class Year 2nd-Class Year 1st-Class Year
Chem 200 Aero Engr 315 Academy Option CS Option
Comp Sci 210 Beh Sci 310 Astro Engr 410
Comp Sci 220 Biology 315 Comp Sci 380 
Comp Sci 351 Comp Sci 359 Comp Sci 426 
Econ 201 Comp Sci 364 Comp Sci 454
El Engr 281 Comp Sci 467 Comp Sci Option
English 211 Comp Sci 483

English 411

Engr Mech 220 El Engr 315

Math Option

Law 220 History 302 Mgt 400
MSS 200 Math 340 MSS 400
Physics 215 Math 356 Soc Sci 412
Pol Sci 211 Philos 310 Sys Opt Comp Sci 453

COMPUTER SCIENCE (Comp Sci)
Offered by the Department of Computer Science.

Comp Sci 110. Introduction to Computing. An introduction to principles, applications, capabilities and limitations of computer systems. Topics include computer hardware, algorithms, information representation, networks, computer security, computers and society, system and application software and computer programming. Students will learn how to use their own computers more effectively.

Comp Sci 210. Introduction to Programming. Introduces the fundamentals of software development as a foundation for a more advanced study of computer science. Topics include programming constructs, problem-solving strategies, algorithms, data structures, recursion and object-oriented concepts. Considerable attention is devoted to developing effective software engineering practices, emphasizing design, decomposition, encapsulation, procedural abstraction, testing, debugging and software reuse.

Comp Sci 211. Introduction to Programming for Scientists and Engineers. Introduces the fundamental techniques of software development as a foundation for solving engineering problems using computers. Topics include programming constructs, problem-solving strategies, algorithms and data structures. Considerable attention is devoted to developing effective software engineering practices, emphasizing design, decomposition, encapsulation, modularity, testing, debugging and software reuse. Cadets will learn a programming language and development environment that is widely used within the engineering discipline.

Comp Sci 220. Data Abstraction. Continues the introduction of software development, with a particular focus on the ideas of data abstraction, object-oriented programming and fundamental data structures. Topics include recursion, computational complexity, event-driven programming, graphical user interface design and implementation and fundamental computing algorithms.

Comp Sci 310. Information Technology. This course gives cadets the computing skills necessary to solve a wide variety of problems using a computer and application software. Topics include the World Wide Web, hardware and software selection, desktop publishing, spreadsheet analysis, information storage and retrieval, information visualization, computer security and telecommunications. This course is suitable for cadets in any academic major, including divisional majors.

Comp Sci 315. Web Design and Construction. This course gives cadets experience designing and building web-based applications. Topics include web page design, web development tools, browser capabilities, HTML, XML, client-side scripting, server-side scripting and web security issues.

Comp Sci 351. Computer Organization and Architecture. Expands on basic computer logic systems from prerequisite courses by introducing and contrasting major types of computing system organizations and introducing machine and assembly language programming. Topics include performance analysis, computer arithmetic, datapath and control, pipelining, virtual memory, I/O, device drivers and parallel processing.

Comp Sci 359. Programming Paradigms. An applied course studying four different programming paradigms. Imperative, Object-Oriented, Functional and Logic programming paradigms will be covered. Programming languages and specific language constructs supporting the four paradigms are covered, but emphasis is on how to think about programming in each paradigm. At least one programming project is assigned for each of the four paradigms.

Comp Sci 362. Computer Simulation. Introduction to computer simulation and modeling of real-world systems. Topics include system analysis and modeling; principles of computer simulation methodologies; data collection and analysis; selecting distributions; simulation programs using general purpose languages; simulation using special simulation languages; analysis of results; and selecting alternative systems. The course includes the preparation of several computer programs using general and special purpose simulation languages and a group project involving the analysis of a real-world system.

Comp Sci 364. Information Storage and Retrieval. Introduction to the basic concepts of database and information storage systems. Topics include data models, database design theory, database performance, transaction processing, web-database interaction, techniques for handling large volumes of data and contemporary database issues. Hands-on projects emphasize basic database and information storage and retrieval techniques.

Comp Sci 380. Design and Analysis of Algorithms. Advanced design and analysis of algorithms used in modern computing systems. Topics include analysis of algorithms, basic structures, advanced abstract data types, recursion, computability and complexity. Problem solving and analytical skills are improved by examining the application of abstract data types to several problem domains with an emphasis on the impact of design decisions on algorithm performance. Concepts are reinforced by several programming exercises.

Comp Sci 405. Computer Science Seminar. A course designed to give Computer Science majors the opportunity to discuss topics that cadets may encounter in the Air Force upon graduation, including computer ethics. Leaders from around the Air Force are invited to speak in the classroom, offering their views of what it takes to be successful in the Air Force and the impact of technology in our career field. Open only to Computer Science majors.

Comp Sci 426. Languages and Machines. Students will learn the theoretical foundations of computer science and apply these concepts to appropriate stages in compiler implementation. Topics include finite automata, formal language theory, grammars, scanners, parsing techniques, code generation, symbol tables and run-time storage allocation. Students will design and implement a syntax-directed compiler for a high-order programming language.

Comp Sci 431. Cryptography. Introduces the principles of cryptography and number theory. Topics include: primes, random numbers, modular arithmetic, discrete logarithms, symmetric encryption, public key encryption, key management, hash functions, digital signatures, authentication protocols and protocols for secure electronic commerce. Other advanced topics, such as quantum cryptography will also be introduced.

Comp Sci 438. Computer Security and Information Warfare. An introduction to the technical aspects of Information Warfare. Emphasis is on how computer systems and networks are secured in order to protect them from an Information Warfare attack. Topics include viruses, worms, hacking, phreaking, authentication, access and flow controls, security models, encryption, intrusion detection and firewalls.

Comp Sci 453. Software Engineering I. This is the first course of a two-semester capstone sequence for Computer Science majors. Students learn about issues related to developing large software systems. Topics include software development process lifecycles, software project management, configuration management, quality assurance management, requirements elicitation, system analysis, specification, software architecture, high-level design and testing. Students begin work on a two-semester software development project for a real customer.

Comp Sci 454. Software Engineering II. This is the second course of a two-semester capstone sequence for Computer Science majors. Students learn about issues related to developing large software systems. Topics include detailed design, implementation, maintenance and contemporary software engineering issues. Students complete work on a two-semester software development project for a real customer.

Comp Sci 467. Computer Networks. Examination of modern data communications systems and related security issues. Topics include the TCP/IP reference model and protocols, data transmission theory, network design issues, internetworking, routing, network protocols, implementation of networks, web application architecture, communication security, and cryptography.

Comp Sci 468. Network Security. Focuses on the design and analysis of secure TCP/IP networks. Includes significant hands-on implementation of current network security models and theory in an advanced, multi-operating system lab. Topics include: secure network design principles, advanced TCP/IP security issues, packet filtering, stateful and proxy firewalls, network perimeters, threat and vulnerability assessment, host hardening, honeynets, network intrusion detection and computer forensics. The culmination of the course is an exercise where cadets design, configure and secure a live network that is attacked by “Red Teams.”

Comp Sci 471. Artificial Intelligence. Introduction to major subjects and research areas in artificial intelligence (AI). Topics include: problem-solving techniques, knowledge representation, machine learning, heuristic programming, AI languages, expert systems, natural language understanding, computer vision, pattern recognition, robotics and societal impacts. Course will also explore current and projected uses of AI in the Air Force.

Comp Sci 474. Computer Graphics. Basic concepts of interactive computer graphics, including both vector and raster graphics. Topics include mathematics of 2-Dimensional and 3-Dimensional geometric transformations, interactive techniques, graphics hardware architectures, graphic algorithms and realism in computer-generated images. Course includes several computer projects.

Comp Sci 483. Operating Systems. Examines the design and implementation of programs that manage hardware resources and provide abstract interfaces for hardware control. Topics include resource allocation, synchronization primitives, virtual memory, information protection, performance measurement, I/O sub-subsystems and distributed computing.

Comp Sci 495. Special Topics. Selected topics in computer science.

Comp Sci 496. Computer Science Seminar. Advanced topics in computer science. Students participate in and lead discussions on significant issues in current computer science research as well as key historical developments.

Comp Sci 499. Independent Study. Individual study and research supervised by a faculty member. Topic established with the department head.

Majors
Grading

 
 
The Academy's focus is on creating well-rounded leaders with a variety of skills and knowledge.

 
Special Message
Brig. Gen. Dana H. Born
Dean of Faculty