United States Military AcademyWebsiteAcademic Catalog
Electrical Engineering and Computer ScienceDepartment Website
BS Degree in Cyber Science: Network Servicessource 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.
- Secure Interface DesignCY383 (3)humansCY383: Secure Interface Design
This 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.
- 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.
- Network Services ManagementCY392 (3)sysCY392: Network Services Management
SCOPE Cadets study network services in terms of design, implementation, maintenance and security of computer servers. The learning process in this course builds on earlier coursework and assumes a functional network with basic connectivity. This course first covers the design and selection of hardware and software to provide network services based on identified user requirements. Cadets then learn to support the Army Enterprise through the implementation and maintenance of network services, including naming, addressing, resource management, voice over IP, and web services. Security is a pervasive theme throughout the course. While this course focuses on the practical aspect of network services, it also gives cadets a foundational understanding of the theories behind those services.
- Database SystemsCS393 (3)sysCS393: Database Systems
This 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.
- Cloud ComputingCY394 (3)sysCY394: Cloud Computing
SCOPE This course provides a solid background in cloud computing principles and applications. It includes understanding cloud computing fundamentals, cloud architecture considerations, cloud technology service selection, and cloud computing security controls. The course does not focus on vendor specific cloud solutions like Amazon Web Services or Microsoft Azure, but instead focuses on the tools and management of cloud computing systems that could be deployed on these vendor specific platforms. Cadets will examine various cloud services and recommend solutions to problems utilizing cloud services. They will also learn how to take existing distributed applications and configure and deploy them to cloud environments. The culmination of the course is a group project that solves a problem utilizing cloud services and technologies
- 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 & DevelopmentorCS403 (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.
Spec Topics in Computer SciorCS485 (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 IntelligenceorCS486 (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 SciorCS489 (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.
Disruptive InnovationsorXE492 (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.
Cyber EthicsorPY326 (3)sciPY326: Cyber EthicsThis multi-disciplinary course will examine the current ethical, social and legal issues related to cyberspace, with a particular focus on: (1) the regulation or regulability of cyberspace; (2) the inherent tensions between traditional government surveillance and public safety efforts and the growing necessity for strong cyber security practices; (3) the ethical concerns surrounding government secrecy; (4) privacy and anonymization in cyberspace; and (5) cyber weapons and cyberwar.
- Cyber Security EngineeringCY450 (3)sysCY450: Cyber Security Engineering
SCOPE 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.
- Cyber Policy, Strategy, & OpnsCY460 (3)impactCY460: Cyber Policy, Strategy, & Opns
SCOPE This course addresses the entire spectrum of information warfare from the political, legal, and ethical aspects to the technology and techniques of cyber attack. The Political Science and Computer Science faculty jointly teach this course. The course covers how digitization has changed the world and the national security environment of the United States. Students also learn how attack and defense are conducted in cyberspace through classroom discussion and hands-on exercises in the IWAR Laboratory. The course culminates with a group project in which cadets are given a real scenario and possible U.S. objectives and then develop and brief an information operation plan.
- Advanced Computer NetworksCS484 (3)sysCS484: Advanced Computer Networks
This 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.
Math/Stat Courses
- 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.
- Fundamentals/Network ScienceorMA394 (3)mathMA394: Fundamentals/Network Science
MA394 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.
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.
Cyber EthicsororPY326 (3)sciPY326: Cyber EthicsThis multi-disciplinary course will examine the current ethical, social and legal issues related to cyberspace, with a particular focus on: (1) the regulation or regulability of cyberspace; (2) the inherent tensions between traditional government surveillance and public safety efforts and the growing necessity for strong cyber security practices; (3) the ethical concerns surrounding government secrecy; (4) privacy and anonymization in cyberspace; and (5) cyber weapons and cyberwar.
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.
- 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.
Other Courses
Program Educational Objectives
Five to seven years after graduation, cadets who major in Cyber 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 security principles and practices individually or in diverse teams to maintain operations in the presence of risks and threats.
- 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, graduates of the program will have an ability to:
- Analyze a complex computing problem and to 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 Cyber Science.
- 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 Cyber Science.
- Apply security principles and practices to maintain operations in the presence of risks and threats.