Computing affects virtually everything. All industries, organizations, and activities are facilitated and enhanced by computing. Many big decisions in the world today are already being made by computers, from what appears on your social media feed, to what stocks get bought and sold, to self-driving cars and speech recognition phones. If you understand computing, you will be able to elevate your career to a higher level.
In our computer science programs, you will learn how to program computers for simple and complex tasks on the web, on mobile, in virtual reality, and in the cloud. You will learn how computers and computer systems work, from the basics of logic to the complexities of big data analytics. You will also learn about security and integrity of networked systems, and how algorithms are assisting (and in some cases, replacing) today's decision makers.
The University of Regina's Bachelor of Science and Bachelor of Science Honours degrees in Computer Science are accredited by the Computer Science Accreditation Council (CSAC). The Department of Computer Science was one of the first four departments in Canada to be accredited in 1982. We are the only computer science department in Canada to have been accredited continuously since then.
At the U of R, you can take one of seven bachelor's degree programs in computer science:
Bachelor of Science in Computer Science
This program will provide you with a fundamental grounding in the core elements of computer science, as well as exposure to real-world problems and solutions.
Bachelor of Science Honours in Computer Science
Build stronger knowledge in computer science, particularly in specific subject areas. This program will help you be better qualified for graduate programs and for industrial jobs requiring a specific background.
Bachelor of Science in Computer Science, Business concentration
In this program, you will build strong business skills in addition to your computer science knowledge.
Bachelor of Science in Computer Science, Creative Technologies concentration
In this program, you will build creative technologies skills in addition to your computer science knowledge. This may open opportunities to apply your computer science skills in creative fields.
Bachelor of Science in Computer Science and Math (combined major)
In this program, you will build strong mathematical skills in addition to your computer science knowledge. This is advantageous in academic, research, and industry research and development fields.
Bachelor of Science Honours in Computer Science and Math (combined major)
This program is advantageous is you want to pursue an academic or research career.
Bachelor of Science in Software Systems Development
In this program, you will gain knowledge and skills in developing large software systems. This program is beneficial for either working in a large IT department or starting your own software company.
What is Computer Science?
Computer science is the study of computers and computing, including their theoretical and algorithmic foundations, hardware and software, and their uses for processing information.
Areas of study within computer science include artificial intelligence, computer systems and networks, information security, database systems, human computer interaction, graphics, numerical analysis, programming languages, software engineering, bioinformatics and theory of computing.
Some specialty courses in computer science at the U of R include:
Building Interactive Gadgets
Building Interactive Gadgets is an introduction to building and controlling interactive devices for multimedia art and DIY projects. Build robots, new musical instruments, wearable computers and more. Learn about sensors and actuators: WiFi, Bluetooth, GPS; hardware platforms such as the Arduino; and software platforms such as Processing and MaxMSP.
Web and Database Programming
Web and Database Programming shows how interactive database-driven web applications are designed and implemented. Appropriate protocols and languages for web and database programming are discussed, with a focus on client-server architectures, interface design, graphics and visualization, event-driven programming, information management, data modeling, and database systems.
Risk and Reward in the Information Society
Risk and Reward in the Information Society explores the social context of computing. Includes a case study of human-computer interfaces and their evaluation, along with methods and tools of analysis, professional and ethical responsibilities, and the risks and liabilities of computer-based systems. Other topics include intellectual property, privacy, and civil liberties, as well as professional communication, sustainability, and cybercrime.
Introduction to Artificial Intelligence
Introduction to Artificial Intelligence explores the foundations and main methods of Artificial Intelligence. Includes problem characteristics and spaces, and search and optimization techniques with a focus on uninformed and heuristic algorithms. Also includes two player games and constraint satisfaction, and modelling and simulation. Involves comparison of logic-based, fuzzy, and probabilistic reasoning and knowledge representation methodologies. Involves machine learning, including learning tasks, inductive learning, statistical-based learning, over-fitting, and accuracy.
Software Engineering Methodology
Software Engineering Methodology teaches the fundamental principles of designing programs and developing large software systems that meet specifications and that are safe, secure, reliable and maintainable. Includes software process models, software project management, requirements engineering, software design, software construction, software verification and validation, software tools and environments, software evolution, and software reliability.
Special Topics in Virtual Reality
Special Topics in Virtual Reality is an introduction to topics in virtual reality. Topics include environments, platforms, locomotion, physiology, and applications.