Skip to main content
Degree Options:

Bachelor of Applied Science (B.A.Sc Co-op Optional)

Computer Science

Computer science offers a unique combination: scientific and interdisciplinary study; the growth prospects of a multi-billion dollar industry; and the ability for individuals to make a difference.

Current Student Inquiries:

+1 905.525.9140 x 24614
ITB 202
Future Student Information


The Honours Computer Science program offers courses designed to develop students into highly knowledgeable and skilled systems analysts, database specialists, software developers, and system administrators. Additionally, it prepares students for an accelerated master's degree. The program is built around three core areas: computing fundamentals, software design, and systems. Students are trained in modern systems-oriented topics such as distributed networks, secure, high-performance, and web-based systems. 

"My favourite thing about Computer Science in general is its interdisciplinary nature, in that I can apply my Computer Science degree to solve real-world problems across any industry. The Computer Science curriculum at McMaster University allows me to explore these problems through its flexible curriculum." - Alyssia M. Jovellanos, Computer Science

The Computer Science program is built on four columns:

  • Theoretical foundations of Computer Science
  • Programming courses
  • Software Design courses
  • Systems oriented courses

This design philosophy ensures that our students understand the fundamentals and gives them the key advantage in today's job market.

  • Understand how to compose sound programs in modern programming languages
  • Understand Software Design and Software Management
  • Understand the needs of modern Software systems including the internet and the World Wide Web
  • Select freely from 30 units (10 courses) in other subjects to tailor your education to your interests

The admissions criteria are very flexible and allow students from other programs to transfer into the Computer Science program.  Please refer to the Engineering section of the Undergraduate Calendar for the details.  See requirements for Computer Science 1.

Co-op and Experiential Learning

Experiential learning provides students with hands-on opportunities beyond the traditional lecture-style format to gain valuable experience.

Engineering Co-op Program

The Engineering Co-op Program is an optional program which provides you with the opportunity to work in real engineering positions before you graduate. The Undergraduate Co-op Program is administered by the Engineering Co-op and Career Services Department (ECCS).

Example Employers:

  • Advanced MicroDevices (AMD)
  • Microsoft
  • Bell Canada
  • Evertz Microsystems
  • IBM Canada
  • Ford Motor Company of Canada
  • Toronto Hydro Corporation
  • ArcelorMittal
  • CIBC Canadian Imperial Bank of Canada

Learn more about the co-op program

Extracurricular Activities

McMaster Engineering has many engineering clubs, teams and societies you can join to enhance your practical knowledge and soft skills, provide support, or give you the chance to explore new activities. Clubs are an enjoyable way to enrich your student life and contribute to your social development and academic success.

  • PhaseOne (formerly HackItMAC)
  • McMaster SumoBot Club
  • MacACM
  • McMaster Solar Car Project
  • Arduino Club

Learn more about extracurricular involvement


Career Paths

Computer Science graduates find employment in a wide variety of industries, from large companies in banking, insurance, retail, and software, through to medium sized-firms, but also start-ups. Graduate school is also an option for those who want to further deepen their understanding of computing.

Initial positions for computer science graduates often have titles such as programmer, programmer/analyst, analyst, or web developer. Entrepreneurial students can get help with their start-ups through some courses and The Forge, affiliated with McMaster. IP generated by students is owned by the students at McMaster.

Example Career Paths:

  • App development
  • Software analysis
  • Computer system development