Online Bachelor’s in Computer Science CurriculumOnline Bachelor’s in Computer Science CurriculumOnline Bachelor’s in Computer Science Curriculum

Technology impacts nearly every aspect of business, connecting people across the globe, putting data in our pockets, and automating processes for increased production. Forward-thinking developments in areas such as smart technology, artificial intelligence (AI), and machine learning (ML) have advanced industries, and they’ll continue to open doors for new careers and innovations in computer science.

As technology builds tomorrow’s world, organizations need leaders who can help them navigate this evolution and drive change. Maryville University’s computer science bachelor’s curriculum online provides students with the skills and knowledge they need to build careers in this growing field and become technological change-makers.

Our computer science curriculum includes a built-in certificate in one of six high-demand areas, so you’ll have the opportunity to focus your education based on your interests and career goals. These six-class sequences help you build your fundamentals in future-oriented, tech-forward fields. Choose from certificates in artificial intelligence (AI)cybersecuritydata sciencesoftware development, or user experience/user interface (UX/UI). You can also pursue these certificates as standalone credentials, then apply the credits you earn toward a future bachelor’s in computer science.

Computer Science Core Courses (24 Credit Hours)

  • This course covers data types, statements, expressions, control flow, functions, object oriented programming. It emphasizes principals of software development, debugging and testing. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

  • This course introduces students to fundamental features of Java programming language. Topics include data types, control flow and loops, objects, classes, encapsulation, inheritance and polymorphism.

  • This is an introduction to computer programming in C++ language. The course covers structural programming concepts, simple data types and algorithms in addition to basic C++ syntax, operators, control structures, arrays, pointers, function parameter passing, and object programming. Projects are required for coding techniques, program design, and debugging.

  • This course covers the practical application and usage of database systems. An emphasis is placed on relational databases, but non-relational databases are introduced as well. Topics include database design and architecture, the SQL language, data storage, database programming, and NoSQL databases. Prerequisite: COSC 130, COSC 150, or DSCI 303

  • This course covers the project management methodologies. Topics covered include: project planning, quality management, time and cost management, agile, waterfall and risk management.

  • This course studies the design and implementation of data structure and algorithms. Topics include applications of data structures such as stacks, queues and linked-lists, analysis of algorithms, and algorithmic tools and techniques, including sorting and searching methods. Requires substantial object programming projects to solve real world problems using these data structure and algorithms.

  • Exposure to Windows, Linux, and Unix Operating systems. The course covers the theoretical aspects of operating systems including system structures, scheduling, threads and concurrent processes, deadlock detection and prevention, storage and file management, virtual memory, system protection and security.

  • This course is the final course of the computer science program. This capstone course provides an opportunity to apply the knowledge and skills gained from the program to solve real-world problems. Taken as the last course of the program .Prerequisite: Senior Status and Computing Core

Artificial Intelligence (AI) Certificate (18 Credit Hours)

Required: DSCI 303, DSCI 408, DSCI 419, and COSC 440. Select 2 of the following: COSC 421, COSC 423, COSC 435, COSC 443, COSC 445, or DSCI 314 

  • This course covers data types, statements, expressions, control flow, top Python core libraries (NumPy, SciPy, Pandas, Matplotlib and Seaborn) and modeling libraries (Statsmodels and Scikit-learn). Project based learning is used to help students develop effective problem solving skills and effective collaboration skills. Cross-Listed: DSCI-503

  • This is an introductory course in machine learning intended primarily for students majoring or minoring in Mathematics, Data Science or Actuarial Science. This course may also be useful for those using predictive modeling techniques in business, economics or research applications. The main focus of this course is to understand the basic operations and applications of what we currently call machine learning. This course will cover material from several sources. A few main topics that will be covered include: how machine learning differs from traditional programming techniques, data manipulation and analysis, some basic coding skills and an introduction to some of the tools available for data scientists. Specific application techniques will include the following (as time permits): data acquisition, classification, regression, overfitting, supervised and unsupervised training, normalization, distance metrics, k-means clustering, error calculation, optimization training, tree-based algorithms (including random forests), frequent item sets and recommender systems, sentiment analysis, neural networks, genetic algorithms, visualizations, and deep learning (including an introduction to convolutional neural networks and generative adversarial networks). Cross-Listed: DSCI-508

  • This course is an introduction to deep learning with an emphasis on the development and application of advanced neural networks. It covers convolutional neural networks, recurrent neural networks, generative adversarial networks, and deep reinforcement learning. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

  • This course provides an introduction to the field of Artificial Intelligence. Topics covered may include, but are not limited to: History of Artificial Intelligence, logic, game theory, search algorithms, knowledge representation, and automated planning. Prerequisite: DSCI 303

  • This course covers introduction to robotics, applications of robots, return-on-investment, abstract models, controlling robot motion, complex motion, robotic sensors, input/output, external sensors, threads, event programming, remote communication, remote sensing, behavior programming, and human/robot interfaces. Students will gain hands-on experience with emerging robot technologies, understand industrial applications of robots, and ramifications of human/robot interaction.

  • This course provides students with an introduction to the theory and practice of computer vision – the practice of analyzing visual images from the world. This course will cover a wide range of computer techniques and problems that address “how we make computers see”.

  • This course provides an introduction to the field of Reinforcement Learning with an emphasis on Deep Reinforcement Learning. Topics cover may include, but are not limited to: Markov decision processes, value-based methods, Deep Q-networks, policy-gradient methods, actor-critic algorithms, and multi-agent problems.

  • This course introduces students to a range of potential ethical issues related to the current and future use of artificial intelligence. Topics discussed will include the role of artificial intelligence in society, as well as the use of artificial intelligence in areas such as manufacturing, finance, healthcare, government, and law enforcement.

  • This course is a survey of some of the current and possible future applications of artificial intelligence. The course will explore applications in fields such as business, transportation, manufacturing, healthcare, cybersecurity, and geospatial analysis.

  • This course covers text analytics, the practice of extracting useful information hidden in unstructured text such as social media, emails and web pages using Python. Topics include working with corpora, transformations, metadata management, term document matrices, word clouds, and topic models. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

Blockchain (18 Credit Hours)

  • This course provides a foundational understanding of blockchain to students. The idea of what blockchain is, why it is needed, and the problems it solves is covered. An overview of how blockchain technology works and is developed is covered as well as the structure of these technologies. The potential as well as the limitations of blockchain is reviewed as well as how these limitations can be overcome.

  • This course presents students an understanding of the different types of blockchain networks including but not limited public, private, consortium, and permissioned networks. The user of blockchain networks and the value that can be brought to businesses, industry sectors, and society are explored.

  • This course explores the basic properties of various cryptocurrencies (e.g bitcoin, ethereum, ether). Cryptography techniques will be explored to gain a fundamental understanding of the mechanics behind cryptocurrencies.

  • This course explores the ethical and legal hurdles and consequences of implementing blockchain technologies. Analyzing historical and contemporary case studies, this course allows for an exploration of blockchain across industries for the implementation and scaling of blockchain technology. Current events involving blockchain in the legal system, corporate world, and the public sphere will be addressed and examined.

  • This course allows students to put into practice blockchain principles with the development of a blockchain application. This course also covers the different uses of blockchain across industries including cryptocurrencies, smart contracts, and ledgers.

  • This course explores the ethical and legal hurdles and consequences of implementing blockchain technologies. Analyzing historical and contemporary case studies, this course allows for an exploration of blockchain across industries for the implementation and scaling of blockchain technology. Current events involving blockchain in the legal system, corporate world, and the public sphere will be addressed and examined.

Cybersecurity Certificate (18 Credit Hours)

  • This course will allow students to implement and audit the Critical Security Controls as documented by the Council on Cyber Security. These Critical Security Controls are rapidly becoming accepted as the highest priority list of what must be done and proven at nearly all organizations.

  • This course will involve assessing target networks and hosts for security vulnerabilities. Specific penetration testing and ethical hacking methodologies will be discussed and used on network devices, client machines, and mobile devices.

  • This course will examine both network device security and wireless security issues. For wireless security, specific attention will be paid on WiFi and Bluetooth technologies.

  • Virtualization technologies require planning with regard to access controls, user permissions and traditional security controls. Virtualized infrastructure is being located in the cloud which will dictate policies and processes that will need to be adapted to work within a cloud structure.

  • This course will focus on digital forensic practices, tools, and exercises for the collection of electronic evidence on network, client, and mobile devices. Specific discussion will also include the introduction process of this electronic evidence in civil and criminal cases.

  • This course explores malware analysis tools and techniques that target and infect Windows systems. Knowing the capabilities of malware is critical to an organization’s ability to derive threat intelligence, respond to information security incidents, and establish defenses.

Data Science Certificate (18 Credit Hours)

Electives (Choose 3): DSCI 302 Introduction to R, DSCI 304 Introduction to SQL, DSCI 314 Natural Language Processing, DSCI 419 Deep Learning

  • This course covers data types, statements, expressions, control flow, top Python core libraries (NumPy, SciPy, Pandas, Matplotlib and Seaborn) and modeling libraries (Statsmodels and Scikit-learn). Project based learning is used to help students develop effective problem solving skills and effective collaboration skills. Cross-Listed: DSCI-503

  • This is an introductory course in machine learning intended primarily for students majoring or minoring in Mathematics, Data Science or Actuarial Science. This course may also be useful for those using predictive modeling techniques in business, economics or research applications. The main focus of this course is to understand the basic operations and applications of what we currently call machine learning. This course will cover material from several sources. A few main topics that will be covered include: how machine learning differs from traditional programming techniques, data manipulation and analysis, some basic coding skills and an introduction to some of the tools available for data scientists. Specific application techniques will include the following (as time permits): data acquisition, classification, regression, overfitting, supervised and unsupervised training, normalization, distance metrics, k-means clustering, error calculation, optimization training, tree-based algorithms (including random forests), frequent item sets and recommender systems, sentiment analysis, neural networks, genetic algorithms, visualizations, and deep learning (including an introduction to convolutional neural networks and generative adversarial networks). Cross-Listed: DSCI-508

  • This course targets data scientists and engineers. It covers programming with RDDS, Tuning and debugging Spark, Spark SQL, Spark steaming and machine learning with MLlib. It provides students the tools to quickly tackle big data analysis problems on one machine or hundreds. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

  • This course covers practical issues in data analysis and graphics such as programming in R, debugging R code, Jupyter Notebook, cloud computing, data exploration, and data visualization. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

  • This course is for students who want to enhance their SQL skills through exploring real-world examples. Topics covered include but are not limited to pattern-matching using regular expressions, analytical functions, and common table expressions. Students are expected to be able to construct advanced SQL queries to retrieve desired information from the database and solve real-world problems Cross-listed: DSCI-504

  • This course covers text analytics, the practice of extracting useful information hidden in unstructured text such as social media, emails and web pages using Python. Topics include working with corpora, transformations, metadata management, term document matrices, word clouds, and topic models. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

  • This course is an introduction to deep learning with an emphasis on the development and application of advanced neural networks. It covers convolutional neural networks, recurrent neural networks, generative adversarial networks, and deep reinforcement learning. Project based learning is used to help students develop effective problem solving skills and effective collaboration skills.

Software Development Certificate (18 Credit Hours)

  • This course is a survey of both computer systems and programming languages. It covers the current state of systems as well as the top programming languages in use today. Theoretical and practical application of different programming language styles are used to help students understand the effective use cases for them.

  • In this course, students conduct an in-depth exploration of the entire software development process. This includes the technology business hierarchy and structure as well as different software development methodologies. An analysis of major stakeholders and their roles and responsibilities is addressed.

  • This course will explore the development of robust web applications across the internet. Students will develop web applications in HTML, CSS, and Javascript and learn how to build and maintain web applications effectively and efficiently.

  • This course explores the process steps of object-oriented analysis and design.  Using real-world application and problem sets, students explore software requirements and design principles used to make great software.

  • In this course, students will apply their experience with database management and software to deploy and manage a fully realized web-based application in the cloud. Students will complete and automate the production and deployment of the system.

  • This course explores emerging and relevant trends in technology. Students explore the application of these trends as well as their development standards and processes. Students also understand the technology acceptance cycle with an emphasis on spotting future trends as they evolve.

User Experience/User Interface (UX/UI) Certificate (18 Credit Hours)

  • The movement of more and more information to mobile applications and technology has changed the human perspective of the world and our interactions with each other. Understanding the design of apps and how to root them in real world problems becomes an exercise. However, despite the new technology, foundational principles of design are held as a way to continuously improve on the design to produce a more engaging and effective experience. Storyboarding is a visual way of developing an application’s user interface prior to undergoing any development activities. Coupled with sketching, mockups, and prototypes, a person building an application can test and refine their ideas using less time and effort. This course serves as an introduction to the technique of storyboarding, including organizing a project’s content and arranging it in a visual format utilizing standard tools while holding to fundamental design principles in terms of color, layout, and typography. This course also aims to illustrate the benefits, consequences, and changes that have occurred and continue to occur as technology becomes more integrated in our lives.

  • This course begins the student understanding of the programming language Swift in order to develop iOS mobile applications as well as continuing to understand the impact that technology has on modern society. Students will develop iOS apps in the context of the XCode integrated development environment (IDE) while building experience with the vocabulary and app design patterns supported by XCode and its suite of tools.

  • An introduction to vector and raster graphics, page layout software, and the general tools and technologies of graphic design. Students will explore and apply fundamental principles of art and design utilizing industry standard software (Adobe Suite). This course requires no previous computer experience.

  • An introduction to the practice, language, and purpose of graphic design. Through completing a variety of projects, students explore and apply the elements and principles of visual communication in pursuit of crafting their creative process, understanding theory and practice, and refining visual and technical skills.

  • This course introduces students to the visual, theoretical, and technical considerations of designing desktop and mobile websites. Its focus is on producing interactive prototypes using industry-standard software and pursuing an introductory understanding of principles, processes, and practices specific to user experience and interface design. For context, this course also introduces students to basic HTML and CSS. Prerequisite: ADGD 260 or ADDM 200

  • This course’s purpose is to advance students’ understanding of the specialized disciplines, user experience and user interface design. Students will pursue advancing visual and interactive communication skill sets as they complete application focused projects that seek to create effective user experiences. Focus is placed on principles, processes, and practices specific to user experience and user interface design and include topics such as usability, user interaction, iconography, mapping, and prototyping.

To ensure the best possible educational experience for our students, we may update our curriculum to reflect emerging and changing employer and industry trends. Undergraduate programs and certificates are designed to be taken at a part-time pace. Please speak to your advisor for more details.

Ready for your next step?

Get Admission Requirements

Skills Gained with a Computer Science Bachelor Curriculum Online

The Bachelor of Science (BS) in Computer Science curriculum is designed to arm students with in-demand hard and soft skills for becoming experts and innovators in this fast-paced industry. As programmers and developers, computer science professionals will need skills in problem-solving, communication, and critical thinking to approach complex problems and devise creative solutions. They will also need the technical skills to read and write in programming languages, analyze large quantities of data, and develop computer architecture using data structures and algorithms.

According to Coding Dojo, the most in-demand programming languages by top companies are Python, Java, JavaScript, C/C++, and Ruby. An advanced computer science bachelor’s curriculum online will cover these languages, in addition to others, such as R, MySQL, and SAS. Students will also gain experience working with state-of-the art computer programming tools, including Microsoft Azure, IBM Watson, and Amazon Web Services.

Since technology is constantly evolving, a BS in Computer Science should prepare students to master emerging trends and techniques and understand how to apply them in practical settings. AI and ML, for example, are changing the way businesses automate processes and store and access data. They’re already responsible for creating smart technologies, such as autonomous cars and virtual assistants, and will continue to impact critical systems infrastructure in healthcare and safety. Meanwhile, the internet of things (IoT) has transformed the way we interact with our physical world, using sensors to connect devices and monitor data from our bodies through wearable devices.

computer scientist.

Common Courses for a Computer Science Bachelor’s Curriculum Online

Common courses in a BS in Computer Science curriculum cover key areas, such as programming, data structure, algorithms, and ML. Course offerings will also depend on the track you take. Maryville University’s online BS in Computer Science curriculum allows you to choose from one of six in-demand certificates: Artificial Intelligence, Blockchain, Cybersecurity, Data Science, Software Development, and User Experience.

Typical courses include the following:

Introduction to Programming

The Introduction to Programming course offers foundational knowledge of computer programing, including the basics of languages such as HTML, Python, and CSS. Students begin to write computer programs and simple algorithms and solve problems, such as debugging code.

Data Structure and Algorithms

In the Data Structure and Algorithms course, students work with data structures, such as stack and binary search, and algorithms, such as randomized and search algorithms. They use these tools to create their own algorithms and develop solutions to real-world programming obstacles.

Machine Learning

The Machine Learning course covers the tools, strategies, and practical applications used to help computers automate processes and build algorithms without human intervention. Students learn how ML has impacted fields such as bioinformatics and data processing and how it may be used to drive future technological developments.

Networks and Security

In the Networks and Security course, students detect, prevent, and mitigate cybersecurity risks to build and maintain secure computer networks. They gain practical experience addressing common threats, such as malware, viruses, and cyber crime. This course also covers evolving ethical and legal cybersecurity issues, including data privacy and intellectual property rights protection.

Start Your Career in Computer Science

Building the world of tomorrow starts today with obtaining the technical skills and knowledge to become a leader in computer science. Designed with insights from top employers in the field, Maryville University’s computer science curriculum uses a modular design so it can adapt to the latest technology trends and tools and best prepare students to succeed in a fast-growing industry.

Learn how Maryville University’s online Bachelor of Science in Computer Science program can help you pursue a rewarding career in this forward-focused field.

Sources:

Investopedia, “The 10 Fastest-Growing Industries in the United States”
McKinsey & Company, “Technology, Jobs, and the Future of Work”
PR Newswire, IEEE Computer Society’s Top 12 Technology Trends for 2020
TechRepublic, “The 10 Most In-Demand Programming Languages for Developers at Top Companies”
U.S. Bureau of Labor Statistics, Software Developers
VentureBeat, “10 Technology Trends That Will Impact Our Lives in 2020”
WayUp, What Types of Skills Are Best for a Computer Science Major?

Be Brave

Bring us your ambition and we’ll guide you along a personalized path to a quality education that’s designed to change your life.