United States Military AcademyWebsiteAcademic Catalog
Electrical Engineering and Computer ScienceDepartment Website
BS Degree in Computer Sciencesource 1source 2ABET
CS Courses
- Programming FundamentalsCY300 (3)introCY300: Programming Fundamentals
Cadets learn fundamental computing concepts that will allow them to design, build and test small to medium programs using a high-level programming language. Key concepts include applying appropriate aspects of a structured problem solving process, applying a standardized design notation such as the Unified Modeling Language (UML) to communicate their design, and iteratively testing their program.
- Computer NetworksCY350 (3)sysCY350: Computer Networks
This course provides cadets with an introduction to computer networks by breaking the subject into comprehensible parts and building a survey of the state of the art. The goal of the course is to provide each cadet with basic concepts necessary to understand the design and operation of computer networks. Taking a layered approach, it examines the Internet with an emphasis on the TCP/IP protocol suite. Additionally, basic principles including multiplexing, switching, flow control, and error control are covered. Internetworking and its application to both local and wide area networks are also investigated. The course offers an understanding of the current status and future directions of technology and how technology relates to standards.
- Cyber Foundations - ComputingCY355 (3)sysCY355: Cyber Foundations - Computing
Provides a more in-depth study of computing for cadets who have demonstrated ability beyond the level of CY305. The course covers material presented in CY305 at an accelerated pace to provide cadets additional opportunities for application and hands-on experience with cyber principles and concepts such as encryption and machine learning, with less emphasis on networking.
- Computer Systems & OrganizatnCS380 (3.5)sysCS380: Computer Systems & Organizatn
This course provides an introduction to computer systems, computer organization and related concepts. Emphasis is placed on understanding the implications of computer hardware and architecture on the performance and security of written code. Students learn basic C programming and assembly language. Topics covered include basic computer organization, architecture, reverse engineering and parallel computing. In addition to theory, students gain practical real-world experience using tools for profiling and debugging. By the end of this programming-intensive course, students will understand how the fundamental principles of computer systems impact their ability to write efficient code.
- pick 2
Secure Interface DesignCY383 (3)humansCY383: Secure Interface DesignThis course provides a practical introduction to user interface development and usability engineering of interactive applications. The disciplines of Human-Computer Interaction (HCI), Cybersecurity, and Software Engineering guide these endeavors. Major emphasis is on the principles and techniques for human-centered, secure design and implementation of graphical user interfaces (GUIs) within a software development lifecycle. Cadets will extend their knowledge of programming in a high-level language by learning how to use an interface builder to create a fully functional GUI. Cadets will learn and practice human-centered problem analysis techniques and testing methodologies to ensure that their interfaces are usable and secure. A hypothetico-deductive approach to design is emphasized throughout their development efforts. Fundamentals taught in this course will prepare cadets for more advanced software development, development of physical devices, or a deeper theoretical look at HCI topics.
Database SystemsCS393 (3)sysCS393: Database SystemsThis course addresses the analysis, design implementation, and management of relational databases. Structured query language (SQL) is covered in depth along with standard problem domain and data modeling techniques. Implementation techniques and considerations are discussed and practiced extensively. Key concepts include analysis and design using a standardized notation, data model to logical schema conversion techniques, normalization, data security, client-server architectures and web-based access to database systems. Students are exposed to user and privilege management, database backup and recovery, and security vulnerabilities such as SQL injection.
Distrib Application EngrngCS394 (3)sysCS394: Distrib Application EngrngBuilding on the foundations of algorithm implementation, data structures, data representation, and object oriented programming this course focuses on the principles of designing, implementing, and testing a modern distributed application. Cadets study the construction and interaction of user interface, network, web server, database, and other components to produce an integrated working secure system. Cadets will learn new tools and skills working as a team to analyze, design, and implement a system that solves a given problem. This is one of the courses that a Computer Science major can choose from a list of elective courses and the focus is on data structure concepts and object oriented programming.
Cyber Security EngineeringCY450 (3)sysCY450: Cyber Security EngineeringSCOPE The focus for this course is to design, build and test secure networked computer systems. Topics covered include operating system and network security, secure network architecture, and offensive and defensive information operations. Practical exercises that give students hands-on experience with current network security tools and techniques complement a series of laboratory exercises that have small groups of cadets secure their own small network. In a culminating exercise, cadets design, build and test defensive measures to protect a production network from intrusions.
Computer GraphicsCS473 (3)graphicsCS473: Computer GraphicsThis course concerns computer programs that draw two- and three-dimensional objects on computer output devices and receive input from users through graphical input devices. Cadets implement interactive programs through a commonly available graphical application programmers' interface (API). They learn about graphical hardware devices and the elegant algorithms that underlie the API, including elementary computational geometry, continuous time physical simulation, homogeneous transformations, parametric forms, clipping, shading, color, and surface rendering. These concepts are all illustrated with examples of military data visualization including two-dimensional maps and three-dimensional battle simulation and terrain visualization.
Digital ForensicsCS483 (3)sysCS483: Digital ForensicsDigital Forensics will explore the evidence left behind when malicious activity occurs on an information system. The material in this course will build on your knowledge of Operating Systems, file formats, file system structure, computer architecture, and networking. The course begins with an overview of these areas, then examines how to find and extract digital evidence. During the course, you will be challenged with three projects (subjects to be chosen by you) and in class challenges that will allow you to demonstrate your understanding of the material.
Advanced Computer NetworksCS484 (3)sysCS484: Advanced Computer NetworksThis course builds on an understanding of basic networking topics and provides cadets with an advanced understanding of computer networks. This course explores more deeply the problems facing modern computer networks. It covers advanced networking techniques that are enabling rapid innovation to solve challenges in routing, congestion control, traffic engineering, mobility, and reliability. Specific topics covered will vary but may include software-defined networking and programmable network devices.
Spec Topics in Computer SciCS485 (3)specialCS485: Spec Topics in Computer SciThis course provides in-depth study of a special topic in computer science not offered elsewhere in the USMA curriculum. Course content will be based on the special expertise of the visiting professor or a senior computer science faculty member.
Artificial IntelligenceCS486 (3)aiCS486: Artificial IntelligenceThe course provides an introduction to the field of Artificial Intelligence (AI). Cadets will develop an appreciation for the domain of AI and an understanding of the current interest and research in the field. The historical ideas and techniques of AI and the resulting set of concepts will be covered. Classic programs will be covered as well as underlying theory. Topics include a history of computer problem solving, heuristic search techniques, knowledge representation, knowledge engineering, predicate calculus, and expert and/or rule based systems. Advanced topics that may be covered include intelligent agents, genetic algorithms, neural networks, fuzzy logic, robotics, vision, natural language processing, learning, and the programming languages of AI. The course will emphasize the practical application of artificial intelligence to industry and business as well as DoD.
Adv Ind Study Computer SciCS489 (3)specialCS489: Adv Ind Study Computer SciThe detailed syllabus of this elective will be tailored to the specific project and to qualifications of the cadet. The research or study program will be proposed by the cadet or selected from those proposed by the department. The cadet will formalize a proposal, design a viable research plan, and conduct research under the guidance and supervision of a faculty advisor. The Head of the Department will approve cadet projects. Lessons and labs established by consultation between cadet and advisor.
Computr Sci Summer ResearchCS490 (3)specialCS490: Computr Sci Summer ResearchThis course is designed to familiarize the cadet with advanced techniques for independent research in computer science. The course will normally require research, development, and implementation of a novel idea or concept. An oral presentation and a written project report will be completed under the supervision of a USMA faculty member who serves as project advisor. The course requires three full weeks of study, completed in conjunction with the Academic Individual Advanced Development program. Scope, depth, and material covered will meet the requirements of a three-credit course in computer science.
Intro to Numerical AnalysisMA386 (3)mathMA386: Intro to Numerical AnalysisThis course develops an understanding of the methods for solving mathematical problems using a digital computer. Algorithms leading to solution of mathematical problems will be examined for consistency, stability, and convergence. After a brief review of calculus theory, a study of error analysis and computer arithmetic will provide the framework for the study of the following topics: solutions of equations of one variable, solutions of linear and nonlinear systems of equations, the use of polynomials to approximate discrete data, curve fitting, numerical integration and differentiation, and the approximation of continuous functions. Special problems will incorporate computer graphics and the use of mathematical software libraries to produce numerical solutions of applied problems.
Applied Algebra W/ CryptologyMA464 (3)mathMA464: Applied Algebra W/ CryptologyWe study the underlying algebra of computer science structures as well as sets, set functions, Boolean algebra, finite state machines, groups, and modular arithmetic. We introduce and study mathematical aspects of cryptology with an emphasis on cryptanalysis of encryption ciphers. We study early paper-and-pencil systems through current computer algorithms for encryption. We employ algebraic principles in both design and analysis of encryption systems, be it matrix, linear feedback shift register sequence, or linear congruential random number generator sequence efforts. Further, we investigate the mathematics of breaking machine ciphers and of designing modern public-key crypto systems.
Computer Architecture W/MicroEE375 (3)engrEE375: Computer Architecture W/MicroThis course provides an introduction to computer organization and design. It covers contemporary computer organization, program operation at the register level, modern processor simulation and programming, RISC architectures, arithmetic processing, input/output, memory design, and parallel computing.
Embedded Systems DevelopmentEE487 (3)engrEE487: Embedded Systems DevelopmentThis course teaches students how to employ microcontrollers and single-board computers in embedded systems design. Topics include microcontroller programming, peripherals, real-time control design, single-board computers, Linux, Robot Operating Systems, and digital system design.
Disruptive InnovationsXE492 (3)engrXE492: Disruptive InnovationsScope The course begins by developing the background understanding of what disruptive technology is and a historical context about successes and failures of social, cultural, and religious acceptance of technological innovation. To develop this framework, students read several texts underlying the innovator's dilemma, how scientific revolutions are structured, and cultural distinctions found between the sciences and humanities. For each class meeting, students read current scientific and technical literature and come prepared to discuss current events related to technological innovation. Each student researches potential disruptive technologies and prepares a compelling argument of why the specific technologies are disruptive so they can defend their choice and rationale. Cadets also interact with national level innovators throughout academia, industry, and government.
- Data StructuresCS384 (3)introCS384: Data Structures
This course is designed to build on the cadet's basic programming knowledge. Major emphasis is placed on object-based design, programming methodology, algorithms and algorithm analysis, data structures, and abstract data types as tools for the analysis, design, and implementation of software modules to meet specified requirements. Cadets will learn and employ several well-known algorithms and data structures. Techniques of searching, sorting, recursion, and hashing will be examined. Data structures such as sets, heaps, linked lists, stacks, queues, and trees will be covered. A block-structured programming language reflecting comprehensive support for good software engineering principles will be the foundation of application-oriented exercises. Cadets will design software solutions by employing problem decomposition and selecting the appropriate algorithms and abstract data types.
- Design & Analys-AlgorithmsCS385 (3)algsCS385: Design & Analys-Algorithms
This course studies analysis of algorithms and the relevance of analysis to the design of efficient computer algorithms. Algorithmic approaches covered include greedy, divide and conquer, and dynamic programming. Topics include sorting, searching, graph algorithms, and disjoint set structure.
- Pro Considerations in ComputinCS400 (3)communicationCS400: Pro Considerations in Computin
This course addresses professional considerations for computing professionals, primarily focusing on non-technical considerations and the development of communication skills. Coursework includes significant emphasis on written work that is based on relevant reading assignments, class discussions, individual research, distinguished guest speakers, and personal reflection. Content will address current, emerging, and relevant topics in the computing profession. Students will develop the ability to recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. They will also learn to identify and discuss local and global impacts of computing solutions on individuals, organizations, and society. Students will demonstrate the ability to communicate effectively in writing in a variety of professional contexts, including an iterative writing experience.
- Pro Considerations in ComputinCS400 (3)communicationCS400: Pro Considerations in Computin
This course addresses professional considerations for computing professionals, primarily focusing on non-technical considerations and the development of communication skills. Coursework includes significant emphasis on written work that is based on relevant reading assignments, class discussions, individual research, distinguished guest speakers, and personal reflection. Content will address current, emerging, and relevant topics in the computing profession. Students will develop the ability to recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. They will also learn to identify and discuss local and global impacts of computing solutions on individuals, organizations, and society. Students will demonstrate the ability to communicate effectively in writing in a variety of professional contexts, including an iterative writing experience.
- Software Testing & DevelopmentCS403 (3)softengCS403: Software Testing & Development
This course builds on the fundamental programming skills from prerequisite courses to explore advanced concepts used in modern object oriented software design to create software that is robust, reusable, and extensible in varying problem domains. Cadets gain confidence in their abilities to model, implement, and test solutions to demanding programming problems.
- Intro to Theoretical Comp SciCS474 (3)theoryCS474: Intro to Theoretical Comp Sci
This course introduces computer science theory through the study of abstract machines, grammars, languages, decidability, and NP-completeness. Students evaluate fundamental limits of these machines and grammars and classify languages according to the Chomsky hierarchy; apply various techniques to prove facts about these machines, grammars, and languages; recognize the difference between problems that are and are not solvable; and determine when a problem is NP-complete. Throughout, the course links fundamental computer science theory to modern-day practical computing devices and computational problems.
- Programming LanguagesCS478 (3)plsCS478: Programming Languages
Concepts of high-level programming language design are explored in detail. Cadets will examine the fundamental issues of programming language design and use this knowledge as a framework for comparison of different high-level languages. Cadets will study concepts from some or all of the imperative, functional, object-oriented, concurrent, and logic programming language paradigms.
- Operating SystemsCS481 (3)sysCS481: Operating Systems
The operating system controls the computer itself and provides a secure and useful interface for users and application programs. The operating system controls all the computer resources: processors, main storage, secondary storage, I/O devices, and files. It determines which programs will be in memory at any given time and the order in which programs will run. The operating system should resolve conflicts between processes, attempt to optimize the performance of the computer, allow the computer to communicate with other computers, and maintain a record of actions performed as it goes about its system tasks. This course investigates the basic design issues encountered in order to produce an operating system that can address the above problems in an efficient manner. These concepts are reinforced by a series of programming projects that include both design and implementation.
Math/Stat Courses
- Calculus IIorMA205 (4)mathMA205: Calculus II
This course provides a foundation for the continued study of mathematics and for the subsequent study of the physical sciences, social sciences, and engineering. MA205 covers topics in multivariable differential and integral calculus, vectors and geometry of Euclidean space, vector functions, and vector calculus. Throughout the course mathematical models motivate the study of topics such as optimization, accumulation, change in several variables, and other topics from the natural, social, and decision sciences. An understanding of course material is enhanced through the use of computer algebra systems.
Adv Multivariable CalculusorMA255 (4.5)mathMA255: Adv Multivariable CalculusThis is the second course of a two-semester advanced mathematics sequence for selected cadets who have validated single variable calculus and demonstrated strength in the mathematical sciences. It is designed to provide a foundation for the continued study of mathematics, sciences, and engineering. This course consists of an advanced coverage of topics in multivariable calculus. Topics may include a study of infinite sequences and series, vectors and the geometry of space, vector functions, partial derivatives, multiple integrals, and vector calculus. An understanding of course material is enhanced through the use of a computer algebra system.
Linear AlgebraorMA371 (3)mathMA371: Linear AlgebraThis course emphasizes both the computational and theoretical aspects of linear algebra one encounters in many subjects ranging from economics to engineering. The course covers solutions of linear systems of equations and the algebra of matrices. The foundational aspects of vector spaces and linear transformations to include linear dependence and independence, subspaces, bases and dimension, inner products, and orthonormalization are developed. This is rounded out with a detailed investigation of eigenvalues and eigenvectors as they relate to diagonalization, quadratic equations, and systems of differential equations. The Invertible Matrix Theorem is explored as the conceptual/theoretical thread of the course. A computer algebra system is used to explore concepts and compute solutions to problems. Applications of the course material are included in the form of special problems to illustrate its wide scope.
Applied StatisticsorMA376 (3)mathMA376: Applied StatisticsThis course builds on the foundations presented in the core probability and statistics course to provide a broad introduction to some of the most common models and techniques in applied statistics. The mathematical basis for each of the models and techniques is presented with particular emphasis on the development of the required test statistics and their distributions. Topics covered include hypothesis testing, analysis of variance, categorical data analysis, regression analysis, and nonparametric methods.
Foundations of MathorMA383 (3)mathMA383: Foundations of MathThis course introduces the student to the methods and language of upper division mathematics. It presents formal set theory, and introduces the student to the methods of formulating and writing mathematical proofs. Finally, it provides the student a rigorous introduction to the theory of relations, functions, and infinite sets.
Chaos and FractalsorMA385 (3)mathMA385: Chaos and FractalsThis course introduces topics in fractal geometry and chaotic dynamical systems, providing a foundation for applications and further study. The topics from fractal geometry include the military applications of image analysis and data storage. The chaotic dynamical systems studied in the course are one-, two-, and three-dimensional, nonlinear, discrete and continuous dynamical systems. Topics include the logistics equation, the Henon attractor, the Lorenz equations, bifurcation theory, Julia sets, and the Mandelbrot set. These topics have applications in many fields of science, and examples from biology, meteorology, engineering, and the social sciences are studied. The course integrates concepts introduced in the core mathematics courses.
Intro to Numerical AnalysisorMA386 (3)mathMA386: Intro to Numerical AnalysisThis course develops an understanding of the methods for solving mathematical problems using a digital computer. Algorithms leading to solution of mathematical problems will be examined for consistency, stability, and convergence. After a brief review of calculus theory, a study of error analysis and computer arithmetic will provide the framework for the study of the following topics: solutions of equations of one variable, solutions of linear and nonlinear systems of equations, the use of polynomials to approximate discrete data, curve fitting, numerical integration and differentiation, and the approximation of continuous functions. Special problems will incorporate computer graphics and the use of mathematical software libraries to produce numerical solutions of applied problems.
SabermetricsorMA388 (3)mathMA388: SabermetricsThis course builds on the statistical foundation of the core mathematics sequence by exploring the application of statistical concepts to sports analytics. Students develop skills and apply statistical techniques appropriate for baseball and other sports including: regression, forecasting, and stochastic processes. Guest lectures and a course trip section to discuss Sabermetrics at the baseball Hall of Fame in Cooperstown, NY are part of this course (when available). Software packages (Mathematica, Excel) are used as decision support tools to investigate application problems and augment understanding of course material.
Mathematical ModelingorMA391 (3)mathMA391: Mathematical ModelingThis course is designed to give cadets the opportunity to develop skills in model construction and model analysis while addressing interesting scenarios with practical applications from a wide variety of fields. The course addresses the complex process of translating real-world events into mathematical language, solving the resulting mathematical model (iterating as necessary), and interpreting the results in terms of real-world issues. Topics may include model development from data, optimization, dynamic models, and deterministic and stochastic model development. Interdisciplinary projects based on actual modeling scenarios are used to integrate the various topics into a coherent theme.
Fundamentals/Network ScienceorMA394 (3)mathMA394: Fundamentals/Network ScienceMA394 exposes cadets to the basic concepts of networks and gives them an opportunity to apply techniques learned in the course to real-world problems. Students will develop skills and problem-solving strategies for modeling complex networks associated with physical, informational, and social phenomena. Software packages are used as decision support tools to investigate application problems and augment understanding of the course material.
Graph Theory and NetworksorMA461 (3)mathMA461: Graph Theory and NetworksThis course introduces the student to the techniques, algorithms, and structures used in graph theory and network flows in order to solve real world discrete optimization problems. Basic definitions relating to graphs and digraphs, together with a large number of examples and applications are provided. Cadets learn to implement new graph theory techniques in their area of study. Emphasis is on modeling, algorithms, and optimization.
CombinatoricsorMA462 (3)mathMA462: CombinatoricsThis course introduces the basic techniques and modes of combinatorial problem-solving important to the field of computer science and mathematical sciences such as operations research. Applications of combinatorics are also related to fields such as genetics, organic chemistry, electrical engineering and political science. Combinatorial enumeration and logical structure are stressed. Applications and examples provide the structure of progression through topics which include counting methods, generating functions, recurrence relations, and enumeration techniques.
Applied Algebra W/ CryptologyorMA464 (3)mathMA464: Applied Algebra W/ CryptologyWe study the underlying algebra of computer science structures as well as sets, set functions, Boolean algebra, finite state machines, groups, and modular arithmetic. We introduce and study mathematical aspects of cryptology with an emphasis on cryptanalysis of encryption ciphers. We study early paper-and-pencil systems through current computer algorithms for encryption. We employ algebraic principles in both design and analysis of encryption systems, be it matrix, linear feedback shift register sequence, or linear congruential random number generator sequence efforts. Further, we investigate the mathematics of breaking machine ciphers and of designing modern public-key crypto systems.
Abstract AlgebraorMA466 (3)mathMA466: Abstract AlgebraThis is an introductory course in modern algebra for cadets who plan to do graduate work in mathematics or theoretical work in the physical sciences or engineering. The emphasis of the course is on group theory, considering such topics as cyclic and abelian groups, normal sub-groups and factor groups, series of groups, and solvable groups. Selected applications are interspersed with the material on group theory. The course concludes with an introduction to rings and fields. One special problem is provided to allow the student to do independent research in an area of the student's interest.
Mathematical StatisticsMA476 (3)mathMA476: Mathematical StatisticsThis course builds on the foundation presented in the core probability and statistics course to provide a mathematical presentation of the important topics in mathematical statistics. The course begins with a review of probability concepts from the core course, adding additional topics such as transformations of random variables and moment generating functions. To provide the mathematical basis for much of statistical practice, certain limit theorems and sampling distributions are proven. The central focus of the course is distribution theory, to include the theory of estimation and the theory of hypothesis testing.
- Introduction to Discrete MathMA372 (3)mathMA372: Introduction to Discrete Math
The purpose of this course is to introduce topics in Discrete Mathematics, providing a foundation for further study and application. The topics covered are useful to both the applied mathematician and the computer scientist. They include propositional logic, elements of set theory, combinatorics, relations, functions, partitions, methods of proof, induction and recursion, digraphs, trees, finite state machines, and algebraic systems. Specific applications to computer science are presented.
Engineering Courses
- Digital Logic W/ Embedded SysEE360 (3.5)engrEE360: Digital Logic W/ Embedded Sys
This course covers the analysis, design, simulation, and construction of digital logic circuits and embedded systems. The material in this course provides the necessary tools to design digital hardware circuits based on design techniques such as Karnaugh maps and Finite State Machines. The course begins with the study of binary and hexadecimal number systems, Boolean algebra, and their application to the design of combinational logic circuits. The first half of the course focuses on designs using medium-scale integration (MSI) circuits and Field Programmable Gate Arrays (FPGAs) to implement combinational logic functions. The second half of the course emphasizes sequential logic circuits. Laboratory work in this half of the course focuses on using very high speed integrated circuit hardware description language (VHDL) to simulate digital systems and to program those systems in hardware. As a final project, cadet teams design, build, and test a digital logic system.
- Integrative System Design IXE401 (3.5)engrXE401: Integrative System Design I
This course is the first part of a two-semester team-based capstone design experience in electrical engineering, computer science and information technology. It provides an integrative experience, presenting each cadet team with a professionally relevant, open-ended situation including professional, ethical, social, security, legal, economic, and political dimensions, where an engineering approach has strong potential to produce benefits. Under the guidance of a faculty advisor for each project team, cadets develop client-focused products, applying the principles of design and implementation to effect an optimal outcome for the circumstances presented to the team by creating a product or service that meets requirements and constraints negotiated with the client.
- Integrative System Design IIXE402 (3.5)engrXE402: Integrative System Design II
This course is team-based capstone design experience in electrical engineering, computer science and information technology. It provides an integrative experience, presenting each cadet team with a professionally relevant, open-ended situation including professional, ethical, social, security, legal, economic, and political dimensions, where an engineering approach has strong potential to produce benefits. Under the guidance of a faculty advisor for each project team, cadets develop client-focused products, applying the principles of design and implementation to effect an optimal outcome for the circumstances presented to the team by creating a product or service that meets requirements and constraints negotiated with the client.
Science Courses
- General Chemistry IICH102 (4)sciCH102: General Chemistry II
This course extends the foundational disciplinary content and practices from General Chemistry I into chemical equilibrium acid/base chemistry, electrochemistry, thermodynamics (entropy and free energy) and kinetics. Basic principles governing organic chemistry is also addressed. The laboratory is integrated within the course. The initial labs develop skills which are they applied to an authentic research problem.
- BiologyCH275 (4)sciCH275: Biology
Scope This course provides a broad understanding of biological principles, applications and the relevance of biological science to the military and society. This course consists of an examination of the unity and diversity of life. The course utilizes a reductionist approach to biological study by beginning with an introduction to life at the cellular level and proceeding through Mendelian Genetics, central dogma, DNA technologies, and Darwinian evolution. The course culminates in the application of basic biological principles to human structure and function. Emphasis is placed on course material that is relevant to current environmental issues and disease particularly as these areas apply to military operations. A laboratory program is integrated within the course and is designed to enhance understanding of classical and modern investigative techniques and to illustrate fundamental concepts.
- Physics IIPH202 (4)sciPH202: Physics II
This calculus-based core physics course consists of a comprehensive study of electricity and magnetism. Topics include electrostatics, Gauss's Law, magnetic fields, Ampere's Law, Faraday's Law, circuits (direct current and alternating current), electromagnetic waves, geometric optics, physical optics, and elements of modern physics. An integrated laboratory program illustrates basic scientific techniques and serves to stimulate intellectual curiosity through discovery laboratories. The core physics program is designed to demonstrate the relevance of physics to military technology and to help prepare future Army leaders to anticipate and adapt to technological change.
- Physics IIPH206 (4)sciPH206: Physics II
This calculus-based, core physics course consists of a detailed study of rotating rigid bodies, fluid mechanics, electrostatics and magnetism, direct and alternating current circuits, electromagnetic waves, the wave and particle natures of light. The course is designed to promote scientific literacy and to develop the use of the scientific method to solve problems. An integrated laboratory program illustrates more advanced scientific techniques and serves to stimulate intellectual curiosity through discovery laboratories. This course features an introduction of new material and 'depth' reinforcement of select PH205 concepts relevant to continued engineering education through a rigorous theoretical and mathematical curriculum.
- Advanced Physics IIPH252 (4)sciPH252: Advanced Physics II
This calculus-based advanced core physics course consists of a comprehensive study of electricity and magnetism. Topics include electrostatics, Gauss's Law, magnetic fields, Ampere's Law, Faraday's Law, circuits (direct current and alternating current), electromagnetic waves, geometric optics, physical optics, and elements of modern physics. An integrated laboratory program illustrates basic scientific techniques and serves to stimulate intellectual curiosity through discovery laboratories. The core physics program is designed to demonstrate the relevance of physics to military technology and to help prepare future Army leaders to anticipate and adapt to technological change.
Program Educational Objectives
Five to seven years after graduation, cadets who major in Computer Science will have been successful Army officers who have:
- Initiated and completed tasks that identify aspects of a complex situation that can be enhanced by using computing technology.
- Applied computing knowledge and skills while using an engineering process individually or in diverse teams to develop computing technology applications.
- Used effective communication to explain new computing technology to war fighters in support of current and emerging Army war fighting doctrine.
- Grown professionally through self-study, continuing education and professional development.
Student Outcomes
At the time of graduation, cadets who major in Computer Science can:
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the computer science discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the computer science discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.