Find Your Degree

5 Popular Electives for Computer Science Majors

Computer Science electives often include math, science and information technology choices. A Bachelor of Science in Computer Science is the preferred degree for technical careers in networking, e-commerce, information systems, software development and computational analysis. Graduates of these degree programs are well-suited for professional employment in diverse fields like communications, financial services and operations management. A Bachelor of Arts in Computer Science is the preferred degree for students who want to deal with multiple disciplines and cross career boundaries.

IT Security

Electives in IT security are quite popular because this topic is so important to consumers and organizations. A class in secure operating system design will cover concepts like virtual machines, secure coding, systems implementation and kernel programming. Classes in public privacy and ethical issues will cover contemporary topics involving legal issues, security threats, public relations and professional standards. Students will learn about computing privacy, security, surveillance and accountability. An elective in building secure computer systems will study how to reduce threats and vulnerabilities through host, network and application security management.

Video Games

Most people enjoy video games, especially computer science majors who may enjoy creating new applications that entertain and educate users. These classes will most likely require students to form interdisciplinary teams who design, build and demonstrate interactive simulation environments. Students must learn about the basic principles of interactive computer graphics. This may include vector display, hardware techniques, driver considerations and three-dimensional rendering. Video game electives may teach students about visual analytics and associated visualization topics. These may include medical, scientific, geospatial, information and social media visualization. Students will learn about human factors, dynamic data, decision uncertainty and storyboard flow.

Networking

Networking will always be an important area of consideration for organizations. These classes will increase the students’ job competitiveness and resume strength. Introductory classes to networking may cover protocols, algorithms, data links, transport layers, emerging models and TCP/IP standards. Studying how to design and implement network protocols will teach students about routing, multicast, security, name servers, fault tolerance, congestion control and system performance. Computer science students may elect to take a class in networked operating systems programming, which may cover design concepts, coding tools, fault tolerance, distributed systems, system multi-processes, inter-process communication and distributed programming semantics.

Programming

Programming classes are another excellent way to enhance a computer science candidate’s job application. There may be classes in object-oriented design, languages and environments that teach students about dynamic binding, data abstraction and polymorphism methods. Basic classes in programming language design may cover variable bindings, control structures, semantic descriptions, code generation and exception handling. When students take a natural language processing elective, they may learn about dialogue processing, symbolic parsers, semantic interpretation, discourse generation and part-of speech tagging. Linear programming electives may explore convexity, degeneracy, sensitivity analysis and unconstrained minima.