Computer Science Major
Computer Science
Major
The computer science major develops fundamental competency in theoretical and technical areas of computing, and a characteristic style of thinking and problem-solving.
Offered by the Department of Electrical Engineering and Computer Science.
academics-sidebarnav
The Computer Science (CS) major at the US Military Academy develops fundamental competency in theoretical and technical areas of computing, as well as a characteristic style of thinking and problem-solving. The knowledge, skills, and abilities gained through the study of CS will serve our graduates well throughout a full career of service and professional practice in the field.
Cadet studies in computer science consist of carefully chosen "threads" woven throughout the program and designed for both breadth and depth of learning. These threads include theoretical foundations, programming and software design, systems fundamentals, and applications of computing.
If you are a cadet interested in Computer Science, contact ANY instructor of the Department to be directed to an Academic Counselor.
This major offers an honors track.
The Computer Science Cadet Experience
Cadet studies in Computer Science consist of carefully chosen "threads" woven throughout the program and designed for both breadth and depth of learning.
The threads:
- Theoretical foundations
- Programming and software design
- Systems fundamentals
- Applications of computing
All CS majors take courses in introductory programming, data structures, discrete math, databases, object-oriented concepts, computer theory, design and analysis of algorithms, operating systems, digital logic, computer architecture, programming languages, and networks. A professional seminar and year-long capstone project are also required, as well as a few elective choices.
To see more about some of our recent activities you can visit EECS on Facebook.
Learn more about our first-rate computing laboratory research facilities.
To learn more about this area of study, visit the Department of Electrical Engineering and Computer Science.
All computer science majors take courses in introductory programming, data structures, discrete math, databases, object-oriented concepts, computer theory, design and analysis of algorithms, operating systems, digital logic, computer architecture, programming languages, and networks. A professional seminar and year-long capstone project are also required, as well as a few elective choices.
Required Courses
- CS380 COMPUTER ORGANIZATION
- CS384 DATA STRUCTURES
- CS385 DESIGN & ANALYS-ALGORITHMS
- CS400 CS PROFESSIONAL CONSIDERATIONS
- CS403 SOFTWARE TESTING & DEVELOPMENT
- CS474 INTRO TO THEORETICAL COMP SCI
- CS478 PROGRAMMING LANGUAGES
- CS481 OPERATING SYSTEMS
- CY300 PROGRAMMING FUNDAMENTALS
Sample Electives
- CS484 COMPUTER NETWORKS
- CY350 NETWORK ENGR & MGT
- CS393 DATABASE SYSTEMS
- CS394 DISTRIB APPLICATION ENGRNG
- CS473 COMPUTER GRAPHICS
- CS483 DIGITAL FORENSICS
- CS484 COMPUTER NETWORKS
- CS485 SPEC TOPICS IN COMPUTER SCI
- CS486 ARTIFICIAL INTELLIGENCE
- CS490 COMPUTR SCI SUMMER RESEARCH
- CY350 NETWORK ENGR & MGT
- CY383 SECURE INTERFACE DESIGN
- CY450 CYBER SECURITY ENGINEERING
- EE375 COMPUTER ARCHITECTURE W/MICRO
- EE487 EMBEDDED SYSTEMS DEVELOPMENT
- MA386 INTRO TO NUMERICAL ANALYSIS
- MA464 APPLIED ALGEBRA W/ CRYPTOLOGY
- XE492 DISRUPTIVE INNOVATIONS
To learn more, view the full Computer Science Major Curriculum.
Computer science majors participate in clubs and activities including the award-winning Information Assurance student chapter of the Association for Computing Machinery, the ACM Special Interest Group on Security, Special Interest Group on Security, Audit and Control (SIGSAC), the Cadet Competitive Cyber Team (C3T), the EECS Systers (Female cadets and faculty members who occasionally gather for lunchtime fellowship and attend conferences), and the National Society of Black Engineers. Majors also have the opportunity to apply their knowledge in research and operational settings through academic clubs, honor societies, and summer internships as part of the Academic Individual Advanced Development (AIAD) program.
To see more about some of our recent activities you can visit EECS on Facebook.
Honor Societies:
Upsilon Pi Epsilon - International Honor Society for the Computing and Information Disciplines
Golden Key - International Honour Society
Phi Kappa Phi - Oldest and Largest Collegiate Honor Society
To learn more about enrichment for this area of study, visit the Department of Electrical Engineering and Computer Science or the Cyber Research Center.
The Bachelor of Science (B.S.) in Computer Science at the United States Military Academy is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org, under the General Criteria and the Computer Science and Similarly Named Computing Programs Criteria.
Computer Science Program Enrollment Data
Click here to view enrollment data
Program Educational Objectives
The Program Educational Objectives (PEO) for Computer Science are that, 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.
In order to reach these objectives we make day-to-day decisions about courses and lessons based on our Student Outcomes. These list knowledge, skills, and abilities our cadets possess upon graduation. We consider adjustments to outcomes each year when program assessment results are reviewed.
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. [CS]