Computer Science (BS)
What is Computer Science?
Computer scientists design algorithms and use programming and state-of-the-art concepts in computer and information systems to develop and secure computer hardware and software that address defense, biomedical, business, and general computer and information needs.
The engineers and scientists who design these software and hardware systems, and the information managers who monitor and protect the information, must work together to maintain security of operation and business continuity. Threats to safe operation may come from insiders (employees who create risk through negligence or ignorance, or employees who have malicious intent) or from outsiders (bad actors representing an opposing nation-state, or criminal organization, or small independent groups, or individuals). The threats may come in the form of malware, ransomware, viruses, or simply in the form of stolen information. The computer networks, databases, software and computer programs, data storage systems (cloud computing), and the individual workstations and computers, comprise the Information Technology (IT) for a company or organization. Every device that communicates digitally leaves an electronic record of some type, which requires terabytes, petabytes, exabytes, and soon, zetabytes of data.
Personally, in homes and automobiles, for entertainment and fitness and recreation, wearable devices and intelligent communication devices are more and more common. It is estimated that by the year 2020, more than 20 billion connected devices will be in use around the world (for a population of less than 8 billion humans). In developed nations, it is quite possible that each person may account for up to 10 devices. This explosion of connected devices, the Internet of Things (IoT), leads to much greater cyber threats. The growth of devices and “interconnectedness” has been much faster than the growth of cybersecurity practices, awareness, and defense.
Learning in the Computer Science Program at HBU
Students at HBU in the Computer Science program will enjoy learning in context, working together with classmates and professors to design and build real control systems and real computer programs which function like those that are commercially available, or industrially applicable. The first two years of the program provide fundamental knowledge and skills in mathematics (e.g. calculus, linear algebra), science, and computer programming, with the opportunity to implement and demonstrate those skills in a sequence of projects. Additional concepts in programming, data structures, and computer operating systems in the second year help prepare students for more advanced subjects and projects in the upper levels. Students will learn from professors, and engage with industry partners. The professors in the College of Engineering act as advisors and mentors for the students, helping them to make wise course and curriculum decisions, as well as wise career decisions.
As students progress into the junior and senior year, they will learn important concepts in computer architecture, computer networks and security, advanced data structures and programming languages, and software design. Students may choose from advanced elective courses in digital forensics and cyber crime, wireless and mobile security, reverse engineering, cryptography, distributed and cloud computing, data analytics, and blockchain. Every student will complete at least one internship before graduation, and every student will complete a major industry-driven project during the senior year.
Career Paths for Computer Scientists
Graduates of the BS in Computer Science are expected to seek and obtain high-demand jobs in energy, healthcare, marine transportation, and other industries. Any company or agency involved in critical infrastructure needs at least some computer or information scientists for the information technology relevant to that organization. Graduates will work in security operations, information management, storage and security of information, and other cyber security-related positions. Some graduates will work to design the next generation of software, so that better security measures can be built into the technology before operation and maintenance begins.
Preparing to be a Professional
The Association of Computing Machinery ACM is the world’s largest educational and scientific computing society, and provides resources that advance computing as a science and a profession. ACM provides the computing field’s premier Digital Library and serves its members and the computing profession with leading-edge publications, conferences and career resources. HBU encourages its faculty and students to become members in a professional organization, and ACM is one of the best. The College of Engineering will form a student chapter of ACM to facilitate professional interactions for its students. ACM offers information and involvement through many Special Interest Groups. Special resources are available to students near graduation.
Many resources are available to learn more about the Internet of Things. One site, WeLiveSecurity.com, offers news, views, and insight from the IoT security community. Here is a sample article about analyzing the security of your IoT devices.
Program Goals – Computer Science
The Computer Science Program Educational Objectives are broadly stated goals pertaining to career and professional accomplishments desired for program graduates. Graduates of the Computer Science Program are expected within a few years of graduation to:
- Establish themselves as practicing Computer Science professionals or engage in advanced study in a related or complementary area
- Engage in professional development in order to remain current in the field for enhanced understanding of current issues in Computer Science
- Receive positive recognition and reward for the productive application of their skills and knowledge
Learning Outcomes – Computer Science
- An ability to apply knowledge of computing and mathematics appropriate to the program’s student outcomes and to the discipline
- An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
- An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- An ability to function effectively on teams to accomplish a common goal
- An understanding of professional, ethical, legal, security and social issues and responsibilities
- An ability to communicate effectively with a range of audiences
- An ability to analyze the local and global impact of computing on individuals, organizations, and society
- Recognition of the need for and an ability to engage in continuing professional development
- An ability to use current techniques, skills, and tools necessary for computing practice
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the trade-offs involved in design choices; and
- An ability to apply design and development principles in the construction of software systems of varying complexity
Please see the Semester Schedule for a complete list of courses needed for the BS degree in Computer Science, presented in an ideal, semester-by-semester schedule.