Bachelor of Computer Science

Love solving problems and tinkering with technology? Our BCS program turns your passion into a powerful career path.

Your flexible online BCS

Earn your Bachelor of Computer Science degree at the University of Fredericton and explore the exciting world of technology. Many people are already benefiting from our life-changing education. Are you next?

15+

Years average faculty teaching experience

100%

Online program

12K+

Alumni and course graduates

5K+

Current students

Online bachelor’s degree in computer science

You can’t copy-paste experience. Some things must be learned. Get the technical knowledge you need to get ahead at UFred.

100% online program

Our program gives you the freedom and structure to successfully balance work, life and school. Independent study for flexibility. Fixed deadlines for accountability. All online. 

Career-focused curriculum

Our BCS ensures you’ll gain the practical skills employers want, everything from AI and data science to cybersecurity and cloud computing. Each course is built for impact and job readiness.

No in-person or live classes

Find the bandwidth you need to complete your degree and keep your social battery charged. There are no classes to attend, but your faculty-led courses have set assignment deadlines. 

Authentic online connections

Our small classes make it easy to connect and build meaningful relationships, even from your screen. You’ll meet tech-minded peers and collaborate on group work, so you never feel alone. 

Student speaking while using laptop at kitchen table.

Duration

4 years*

Expect 15-20 hours/ week, per course.

*When students complete 2 courses at a time.

Tuition

$31,200

Cost by course:

3 credits: $780
6 credits: $1,560

Courses

39

Explore courses that challenge your logic, spark creativity and help you code your way to success. Courses blend computing theory with real-world application.

Start dates

Jan. 25, March 22, May 24

Apply at least 4 weeks before your start date.

Next application deadline:

Dec. 11

What to expect on your computer science journey

Perfect for high school graduates and career changers, our computer science degree helps you build a stable, rewarding career. No prior tech experience is required to get started. 

Student sitting with laptop at study desk in bedroom.

Complete core courses

Build your foundation

Your core courses cover key topics like programming, algorithms, mathematics, systems design, data management, cybersecurity, artificial intelligence and machine learning. 

Student looking into camera while working on laptop.

Take general electives

Think beyond technology

You’ll tailor your studies with electives like business, economics, ethics, law, languages and social sciences to understand how technology connects to the world around you. 

Programmer works on multiple computer screens.

Choose Computer Science electives

Make the degree your own

Select electives that match your interests. Explore subjects like mobile computing, data science, AI, big data (and more) to build relevant computer science skills that match your goals. 

Students use post-it notes on a whiteboard.

Finish with a capstone project

Put your education to work

You’ll wrap up your degree with a capstone project that turns coding, critical thinking and problem-solving into a showcase of your knowledge. You’re now ready for an exciting career in tech. 

Course descriptions

Explore each of our courses to see how real-world lessons and hands-on projects come together to transform your learning into career-ready skills.

Core courses

This course will provide students with a comprehensive introduction to the fundamental principles of academic writing and research for IT and technology. The course focuses on creating clear and persuasive thesis statements, exploring various research methodologies, and critically evaluating academic sources for reliability and relevance. Students will learn to formulate research questions, gather and analyze data ethically, and synthesize information to support their arguments. Additionally, students will learn to cite sources properly using APA 7 Style format. Students will enhance their ability to communicate ideas effectively within academic contexts through guided practice and constructive feedback. By the end of the course, students will be equipped with the tools to conduct research and contribute meaningfully within academic spheres across a range of disciplines.

This course will support students in developing and strengthening key interdisciplinary competencies for today’s networked world, enabling them to engage in constructive cooperation with others. The course introduces essential models and design possibilities for collaborative learning and working. It provides foundational knowledge and tools for self-directed, flexible, creative thinking, learning, and action. Students will explore topics of empathy and emotional intelligence. Throughout the course, students are encouraged to apply the course content to enhance their individual capabilities, improve their competency using interactive tools, and strengthen their ability to interact in diverse groups.

The course introduces computer science, its fundamental concepts, and core principles. Students will explore topics such as information representation, propositional logic, and Boolean algebra. The course delves into the three main components of computing infrastructures: hardware, networks, and software, while also introducing essential topics, including introduction to algorithms, data structures, and computer graphics. Students will also examine human-computer interaction, usability principles, and user-centred design processes. The course concludes with an examination of the broader role of computer science as a discipline, including ethical considerations and professional conduct in the field.

This course introduces fundamental programming concepts and their practical applications. Students will learn to work with basic constructs, data types, and structured data while developing coding skills such as debugging, testing, and writing readable, well-documented programs. The course also explores standard Python modules and introduces classes and inheritance.

This course introduces students to the fundamental concepts of discrete mathematics, which form the mathematical backbone of computer science. Students will explore core topics such as sets, functions, relations, logic, and proofs, including techniques like induction and proof by contradiction. The course also covers methods of counting, permutations, combinations, and the pigeonhole principle, helping students understand how to approach complex problems in a logical and structured way. Learners will study modular arithmetic, recurrence relations, and the basic properties of graphs and trees, focusing on practical applications in computing. This course will emphasize the importance of developing precise reasoning, abstract thinking, and the ability to model and analyze real-world scenarios using formal mathematical tools. By the end of the course, students will know how to apply mathematical reasoning in a range of contexts, including algorithm analysis, data structures, and logical problem-solving.

This course introduces the fundamental principles of statistics, focusing on data analysis and interpretation in computer science and data-driven problem solving. Students learn methods for collecting, organizing, and summarizing data, and apply descriptive and inferential statistical techniques to real-world datasets. Key topics include probability concepts and commonly used probability distributions. This course emphasizes using statistical tools and computational methods to analyze data from various online and professional sources. Through applied exercises and projects, students develop the ability to translate raw data into meaningful insights, evaluate uncertainty, and make evidence-based decisions. The course fosters analytical thinking, data literacy, and clear communication of statistical results in technical and non-technical contexts - preparing students to confidently apply statistical reasoning in research, business, and technology-driven environments.

This course introduces students to fundamental concepts and techniques in linear algebra, a branch of mathematics that deals with vectors, matrices, and linear transformations. It emphasizes understanding vector representations and operations, matrix arithmetic, and methods for solving linear equations. Students learn how to apply matrix operations to perform geometric transformations and explore concepts such as orthogonality, projection, and least squares in vector spaces. The course also covers eigenvalues, eigenvectors, and matrix diagonalization, highlighting their importance in analyzing and simplifying complex systems. Practical applications in fields like computer science, including singular value decomposition and image processing, are integrated to demonstrate the relevance of linear algebra in real-world problems.

Calculus is one of the essential basic subjects of mathematics. Originally developed to be able to formulate and solve problems of classical mechanics mathematically, in its present rigorous form, it has become indispensable in numerous applications in the natural sciences and technology. This course aims to introduce the basic hand tools of differential and integral calculus and to explain their mutual interrelations. In addition, the differential calculus is generalized to multidimensional spaces.

This course examines the ethical, legal, and environmental responsibilities of computing professionals in a rapidly changing digital landscape. Students explore how information technologies shape society, influence decisionmaking, and impact sustainability, with particular attention to the role of artificial intelligence and data-driven systems. Foundational ethical theories and professional codes of conduct are used to analyze issues such as privacy, cybersecurity, intellectual property, environmental sustainability, algorithmic fairness, and equitable access to digital services. Through contemporary case studies, students learn to identify ethical challenges, evaluate competing stakeholder interests, and propose responsible solutions grounded in professional standards. By the end of the course, learners will be prepared to make informed and socially responsible decisions that address both the opportunities and risks associated with modern information technologies.

This course builds on fundamental Python programming skills to help students develop practical, real-world software applications. Learners will work individually on a semester-long project that integrates key programming concepts introduced throughout the course. Topics include working with external data (such as CSV files and APIs), handling files, building web applications using Flask, integrating databases with SQLite, implementing basic data analysis, writing and running unit tests, and applying functional programming techniques. By the end of the course, students will be able to develop, test, and deploy a small but complete software application using best practices in Python development. Students will use Visual Studio Code (VSCode) as their development environment and gain hands-on experience in software development workflows. Emphasis is placed on writing clean, testable code and progressively refining a project over multiple stages.

This course explores how computers represent data, execute programs, and deliver performance. Students begin with bit-level data encoding and standard data types, progressing from instruction set concepts to practical assembly programming using SimpleRisc and RISC-V. The course builds a practical understanding of digital logic, demonstrating how combinational and sequential blocks form data paths and control units. It then examines pipelining, hazards, and simple performance tradeoffs. Students study memory systems, from caches to virtual memory, emphasizing correctness, capacity, and efficiency. This course also surveys parallel execution models, interconnection networks, and input/output systems to build a complete view of computer architecture. Finally, it introduces storage fundamentals and case studies of contemporary CPUs and GPUs, connecting microarchitectural design choices to real-world outcomes. Students learn to reason about system components, analyze performance and make sound architectural decisions through design and implementation exercises.

This course introduces students to the fundamental principles of object-oriented programming using the Java programming language. Students will explore core concepts such as classes, objects, inheritance, polymorphism, interfaces, and exception handling. The course will also emphasize the importance of foundational skills for designing, writing, and understanding structured Java programs. By the end of the course, students will have an understanding of object-oriented thinking and will be able to apply these skills in further studies and real-world programming contexts.

IT service management is an approach that helps organizations align and understand their IT divisions as true service providers supporting day-to-day operational and business needs. In the Canadian context, where institutions navigate a mix of federal privacy laws, provincial regulations and sector-specific expectations, effective ITSM becomes a backbone for stability and trust. This course utilizes the IT Infrastructure Library (ITIL) to teach the concepts, procedures and best practices essential in IT operations. In other words, the focus is on managing everything that happens after an IT system has been built. The continuous run of productive, everyday IT activities that keep a company moving. The course also reflects the growing importance of AI governance and cybersecurity in Canada’s technology landscape. Students will consider how ITSM practices help manage AI tools responsibly, strengthen cyber readiness, and ensure that operational processes remain resilient in an era of automated decision-making and increasingly complex threats.

This course will introduce students to the possibilities, issues, challenges, and limitations associated with Human Computer Interactions. It explores how people engage with technology and examines the factors that influence effective interface design. The course also includes excursions into the fields of Graphics and Visualization, emphasizing their roles in the clear and meaningful presentation of information. The focus of this course will be on practical strategies for creating responsible, user-centred interface designs that communicate information efficiently and truthfully while addressing the diverse needs and expectations of users.

This course will introduce students to the process of systematically determining and documenting what a software system needs to do before design or implementation can begin. It focuses on understanding the needs, goals, and constraints of stakeholders and then turning that information into clear, useful requirements. Students will learn practical methods for systematically establishing, defining, and managing both functional and nonfunctional requirements for a large, complex, and software-intensive system, from technical, organizational, and management perspectives. The course also addresses how requirements evolve, how to handle changes, and how careful requirements work supports successful software development. At the end of the course, students will understand the importance of well-defined requirements and will be able to use industry-standard methods to help build reliable and effective software systems.

This second-year course introduces the core ideas behind efficient algorithms and data structures. Students learn how different ways of representing data affect speed, memory use, and overall program design. The course covers fundamental data structures, including arrays, linked lists, stacks, queues, hash tables, heaps, trees, and graphs. It also introduces standard algorithmic techniques through searching, sorting, traversal, and selected graph algorithms. Throughout the course, students practice analyzing performance using asymptotic notation and apply these ideas to make informed implementation choices. This course emphasizes correctness, tradeoffs, and evidence-based reasoning, supported by hands-on programming work and targeted evaluation. By the end of the course, students will be able to select and implement appropriate structures and algorithms for a given problem and explain the reasoning behind those choices in precise, technical terms

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

Elective courses

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

More information coming soon.

Data science is a multi-disciplinary field focused on extracting value from data. This course offers students an overview of data science and its connection to statistics, computer science, and machine learning. Students will learn about data types and sources, data quality, and model evaluation. This course also introduces the use of random numbers in the field and explores key numerical, supervised, and unsupervised techniques. By the end of this course, students will have a foundational understanding of how to use the techniques introduced to inform decision-making in various disciplines.

In this course, students explore the management of IT and software projects, focusing on how structure, communication, and leadership shape project outcomes. Using common software lifecycle models, such as the Rational Unified Process (RUP) and Agile methods, as case studies, students learn core project management concepts, including project scoping and work breakdown structures, scheduling and estimation, risk and change management, and stakeholder communication. Standard project management terminology and frameworks, like Project Management Body of Knowledge concepts, are introduced and then applied to software project contexts. By the end of the course, students will be able to interpret and participate in IT projects using both project management and software process language.

This course prepares students to consider how sound ethical decisions are made and to identify, analyze, evaluate, and construct thoughtful arguments using a critical voice. The course focuses on the concept of logic to build the critical thinking skills of students and introduces them to basic models for effective decision-making. The course is intended to develop competencies in students that will allow them to apply critical thinking skills in their reading, research, and assessments in future courses.

This course is a foundational course that examines the factors that influence individual, group, organizational, and cultural dynamics as it relates to the management of an organization. The topics that will be covered include, but are not limited to, job attitudes, performance appraisals and reward systems, diversity and equity, motivation, leadership, decision-making, dealing with conflict, and organizational power and politics.

This course introduces the basic concept of microeconomics – making choice decisions that give maximum “happiness” or “satisfaction” and still be within the given constraints on income and wealth. Students study how individuals make purchases and consumption decisions based on their income and prices of goods and services and how firms make production decisions based on wages, prices of raw materials and inputs, competitive factors, and their desire to achieve “maximum possible” profit. The course focuses on the role of demand and supply interactions in the context of different market structures (e.g., perfect competition, monopoly, etc.) and how this leads to the determination of prices or wages. In addition, students gain an understanding of the government’s role in influencing consumption and production choices by using taxes and other regulatory tools and the role of microeconomics in solving real-world social and political challenges (e.g., international trade, climate change, poverty, etc.).

This course will introduce students to the principles of macroeconomics. Fundamental analytical concepts and techniques of contemporary macroeconomics will be examined further, along with applications to better comprehend observed economic phenomena, current economic issues, and governmental economic policies.

This course examines the role of morality within business and explores the legal and ethical obligations required for sustainable business practices in the 21st century. The course will consider how ethics can impact decision-making across various business functions, including marketing, strategy, manufacturing, and accounting.

This course explores how organizations can embrace equity, diversity, and inclusion to build a skilled, dynamic, and diverse workforce. Students will learn about the different dimensions of diversity and inclusion and evaluate the benefits of a diverse and inclusive workforce and society. They will develop an understanding of unconscious bias and privilege and the role that they play in society and the workforce.

After English, French is the primary language of international business and is often sought after in both governmental and non-governmental agencies worldwide. It is spoken in over 40 countries across five continents and is the official language in more than 20 countries. With a special emphasis on six skills—speaking, listening, interacting, reading, writing, and cultural awareness—this course aims to help students improve their public speaking skills as well as both their oral and written communication in French.

This course will allow students to understand and express basic ideas in both oral and written Spanish. Students at the end of this course can reach Level A1 (Elementary 1) based on the Common European Framework of Reference for Languages. This course provides students with grammatical, functional, discursive, communicative, lexical, and socio-pragmatic content appropriate for Level A1.

This course will introduce students to the basic tenets of the legal system in the world market from a North American perspective. Using the case method, this course examines the foundational elements of business law, including dispute settlement procedures; corporate organizations; investment; domestic and international trade; contracts; intellectual property protection; and product liability. Students will learn how to identify and analyze critical legal issues and will develop a broad understanding of international business law.

This course will introduce students to core operation management theories, concepts and applications with a strong focus on global supply chain, procurement and strategic sourcing, manufacturing process, project management, materials and inventory management, and sustainable production management. Students will learn how to design and implement effective production strategies to maximize productivity and overall business competitiveness.

This course will deal with the fundamental aspects of market analysis, including the management of products, pricing, place or distribution, and promotion activities. Next, this course will present related topics to the understanding and application of marketing. Finally, this course will provide a basic understanding of customer satisfaction, a measurement that is necessary for an organization to survive. By the end of this course, students will understand the importance of the marketing function to any organization.

This course explores the basic concepts and methods of moral and political philosophy, primarily focusing on the development and application of moral reasoning skills to relevant societal issues, including justice, equity, and diversity. The course examines social and political thought that include texts from ancient through contemporary times, addressing topics such as natural rights, revolution, law, freedom, justice, and power. Concepts will be applied to the moral, social, and political aspects of modern society.

The global political environment is a complex entity involving a wide array of actors, such as nation-states, multinational corporations, intergovernmental organizations, and non-governmental organizations, all pursuing various agendas that sometimes align but often conflict. Accordingly, this course is designed to introduce students to the global political environment, including historical context and emerging trends. Among the main topics are ongoing ethical issues within the geopolitical sphere, as well as the impacts of globalization from the business perspective. Overall, this course will enlighten students to the wider considerations of geopolitics and international relations, all within the framework of understanding the role of business in such a context.

This course introduces students to the scientific study of behaviour. Topics include the history and research methods of psychology, the biological bases of behaviour, sensation and perception, altered states of consciousness, principles of learning, personality, and abnormal behaviour.

Capstones

More information coming soon.

Start your journey with UFred

We make it simple to take the next step in your education. Our Program Advisors are happy to help you apply. Begin whenever works best for you.

The BCS program for real lives and real impact

Move from theory to reality

Apply what you’ve learned to real-world challenges and see immediate results. Build practical skills that accelerate your career and get you job ready. 

Learn from experts who get it

Guided by our Professional Advisory Council, our courses are designed by technology professionals with a deep understanding of the industry. 

Project-based, hands-on learning

From day one, you’ll tackle projects and optional internships (where available) that let you practice coding, problem-solving and technical skills. 

Build your tech network

Collaborate with classmates from across Canada and beyond. Meet people in different roles with a shared curiosity for code and innovation. 

Programmer collaborating in a technology workplace.

Recognized as a leader in online education

Best Online Computer Science Programs
Best Online Universities
QS World University Rankings

Frequently asked questions

News and featured stories

Faculty Feature

What does computer science education look like in the age of AI? Dr. Stuart Thiel explores why curiosity, problem-solving and understanding code still matter.

Read more >

Request program info

Learn more about UFred

Get all the details about your education in one place. Learn everything you need to know about studying online at the University of Fredericton in our digital brochure.

Need some help? We’re here for you.

Our friendly, knowledgeable Program Advisors genuinely care about you and your future. We’d love to chat so we can help you find the education journey that’s right for you.