Admissions


I am:

My Province/Territory:

Filter By:

My Academic Background:

I am applying to:

Computer Science

Show Requirements, Plus:

Show Requirements For:

Below is a list of some courses, including a brief description, that you may find yourself taking during your first year of this program. For formal policies governing mandatory courses and the order in which they have to be taken, please refer to McMaster’s Undergraduate Calendar.

 

Some Courses You May Take

For students in science: geared towards applications, with attention to underlying concepts. Functions: limits, continuity, derivatives, optimization, curve sketching. Antiderivative, definite integral, techniques of integration.
Three lectures, one tutorial; one term
Prerequisite(s): Grade 12 Calculus and Vectors U or MATH 1F03
Antirequisite(s): ARTSSCI 1D06 A/B, MATH 1LS3, 1N03, 1X03, 1Z04, 1ZA3
Not open to students who have achieved a grade of at least B- in MATH 1M03. Not open to students in Mathematics and Statistics I or an Engineering program or with credit or registration in ISCI 1A24 A/B.
For students in science: additional techniques of integration, applications of definite integrals, differential equations, polar coordinates, parametrized curves. Sequences, infinite series, power series. Partial derivatives, double integrals.
Three lectures, one tutorial; one term
Prerequisite(s): One of MATH 1A03, 1X03, 1ZA3; or a grade of at least B- in MATH 1LS3 or 1M03
Antirequisite(s): ARTSSCI 1D06 A/B, MATH 1LT3, 1NN3, 1XX3, 1ZB3, 1ZZ5
Not open to students in Mathematics and Statistics I or with credit or registration in ISCI 1A24 A/B.
Vector spaces given by solutions to linear systems. Linear independence, dimension. Determinants. Eigenvalues, eigenvectors and diagonalisation. Complex numbers.
Three lectures, one tutorial; one term
Prerequisite(s): Grade 12 Calculus and Vectors U or MATH 1F03
Antirequisite(s): MATH 1ZC3
Not open to students registered in an Engineering program.
Functions: limits, continuity, derivatives, optimization, curve sketching. Antiderivative, definite integral, techniques of integration, with applications.
Three lectures, one tutorial, one lab; one term
Prerequisite(s): Registration in a program in Engineering
Antirequisite(s): ARTSSCI 1D06 A/B, MATH 1A03, 1LS3, 1N03, 1NN3, 1X03, 1Z04
Not open to students with credit or registration in ISCI 1A24 A/B.
Techniques of integration, applications of definite integrals, differential equations, polar coordinates, parametrized curves. Sequences, infinite series, power series. Partial derivatives.
Three lectures, one tutorial, one lab; one term
Prerequisite(s): MATH 1ZA3
Antirequisite(s): ARTSSCI 1D06 A/B, MATH 1AA3, 1LT3, 1N03, 1NN3, 1XX3, 1ZZ5
Not open to students with credit or registration in ISCI 1A24 A/B.
Vector spaces given by solutions to linear systems. Linear independence, dimension. Determinants. Eigenvalues, eigenvectors and diagonalisation. Complex numbers.
Three lectures, one tutorial, one lab; one term
Prerequisite(s): One of Grade 12 Calculus and Vectors U, MATH 1F03, or credit or registration in MATH 1ZA3
Antirequisite(s): MATH 1B03, 1ZZ5

Honours Computer Science

  • Our Honours Computer Science program is structured around three core areas: programming, software design and systems oriented courses. It offers maximum flexibility in course selection to help students develop into highly knowledgeable and skilled programmers, system administrators and IT professionals in organizations of all sizes.
  • Honours Computer Science is very flexible allowing you to customize up to 40% of the program through elective options.  This invites the possibility of completing a minor in another field of study.
  • A rigorous series of courses during the four years of study provide a solid theoretical foundation for challenging practical training. This philosophy ensures our students understand the fundamentals and gives them the key advantage in today’s job market.

Careers or Options Beyond This Program

The following are some of the many career options/fields that are available to graduates of McMaster’s Bachelor of Applied Science program:

    • systems analysts & programmers
    • operations managers
    • database developers
    • Web/e-commerce developers
    • information security analysts
    • information system design
    • business process modelling
    • e-business management
    • financial institutions
    • datacentre management

 

Some Courses You May Take

Basic data structures: stacks, queues, hash tables, and binary trees; searching and sorting; graph representations and algorithms, including minimum spanning trees, traversals, shortest paths; introduction to algorithmic design strategies; correctness and performance analysis.
Three lectures, one tutorial (one hour); second term
Prerequisite(s): COMPSCI 2DM3
Antirequisite(s): SFWRENG 2C03
Functions, relations and sets; the language of predicate logic, propositional logic; proof techniques, counting principles; induction and recursion, discrete probabilities, graphs, and their application to computing.
Three lectures, one tutorial (one hour); first term
Prerequisite(s): MATH 1ZC3 or MATH 1B03 or registration in the Honours Computer Science as a Second Degree (B.A.Sc.)
Antirequisite(s): COMPSCI 1FC3, SFWRENG 2DM3, 2E03, 2F03
Predicate logic and formal proofs, grammars and automata, modular arithmetic, and their applications to computing.
Three lectures, one tutorial (one hour); second term
Prerequisite(s): COMPSCI 1FC3 or 2DM3
Antirequisite(s): SFWRENG 2E03, 2F03, 2FA3
Introduction to logic gates, number representation, computer arithmetic, instruction-set architecture, datapath and control, pipelining, memory hierarchies, I/O systems, multiprocessor systems, measures of performance.
Three lectures, one tutorial, (one hour); first term
Prerequisite(s): COMPSCI 1MD3 or ENGINEER 1D04 or IBEHS 1P10
Antirequisite(s): COMPENG 3DR4, 4DM4, SFWRENG 2GA3, 3GA3
Software life cycle, quality attributes, requirements documentation, specifying behavior; classes and objects, interface specification; creational, structural, and behavioral software design patterns; implementation in code, reviews, testing and verification.
Three lectures one tutorial (two hours); second term
Prerequisite(s): COMPSCI 2DM3, 2S03 
Antirequisite(s): SFWRENG 2AA4 
Fundamental concepts of programming: expressions, statements, procedures, control structures, iteration, recursion, exceptions; precise memory model of traditional imperative programming languages; basic data structures: records, arrays, dynamic structures; use of libraries.
Three lectures, one tutorial (one hour); first term
Prerequisite(s): COMPSCI 1MD3 or ENGINEER 1D04 or MATH 1MP3 or IBEHS 1P10
Antirequisite(s): COMPENG 2SH4, 2SC3, SFWRENG 2MP3, 2S03 
Unix and shell programming, makefiles, version control; assembly basics, translating high-level language into assembly, parameter passing, arrays, recursion; compiling, debugging, profiling, and software optimizations.
Two lectures, one lab (three hours per week), first term
Prerequisite(s): COMPSCI 1MD3 or ENGINEER 1D04 or IBEHS 1P10
Co-requisite(s): COMPSCI 2S03
Open-ended design of computational solutions to practical problems that involve both theoretical (algorithmic) analysis and implementation; solving computational problems through an experiential approach.
One lecture, two labs (two hours each), second term
Prerequisite(s): COMPSCI 2S03, 2XA3 
Co-requisite(s): COMPSCI 2C03, 2ME3 
Antirequisite(s): SFWRENG 2XB3 
Basic computability models; the Church-Turing thesis, complexity classes; P versus NP; NP-completeness, reduction techniques; algorithmic design strategies; flows, distributed algorithms, advanced techniques such as randomization.
Three lectures, one tutorial (one hour), second term
Prerequisite(s): COMPSCI 2C03, COMPSCI 2FA3
Data modelling, integrity constraints, principles and design of relational databases, relational algebra, SQL, query processing, transactions, concurrency control, recovery, security and data storage.
Three lectures, one tutorial (one hour); first term
Prerequisite(s): COMPSCI 1FC3 or COMPSCI 2DM3 
Antirequisite(s): COMPSCI 4EB3, SFWRENG 3DB3, 3H03, 4M03, 4DB3

McMaster’s Computer Science programs include an optional co-op stream. To achieve the co-op designation, you must complete a minimum of 12 months of co-op work experience prior to the beginning of the final academic term of your undergraduate degree.

The Benefits of Computer Science Co-op @ McMaster

  1. Flexibility
    Our co-op is very flexible, as you can decide to join at any time during your studies – as long as you are enrolled as a full-time student before, and after, your co-op work term. Once registered for the co-op program, you can decide how to spread out your 12 month of work experience in:

    • three summer terms (four months each)
    • one summer term (four months) plus one fall/winter term (eight months)
    • one 12-16 month consecutive term
  1. Preparation
    A mandatory, eight-hour preparation course gives you all the tools you need to successfully apply for co-op work terms.
  1. Helpful Service
    The Engineering Co-op & Career Services Office staff delivers the co-op program to thousands of students each year. They work with students during the whole process, assisting them to navigate their way through job applications, interviews and offers.
  1. Paid Experience
    Need we say more? You will gain hands-on practical experience, begin to develop a strong network and earn excellent pay for each work term. The co-op program provides students with the opportunity to apply the technical knowledge learned in university out in the workforce.
  1. Career Development
    Employment experience enhance career development and full-time employment opportunities upon graduation. Through co-op work terms, you will learn to identify your strengths, interests and the way in which you can best contribute to an organization. Some of our current co-op employers include:

    • CIBC
    • AMB
    • Evertz
    • IBM Canada
    • GE
    • Toronto Hydro
    • Ford

 

 

Time Monday Tuesday Wednesday Thursday Friday
8:30 a.m.
9:30 a.m.
COMP SCI 1XA3

Computer Science Practice (Lab)

10:30 a.m.
COMP SCI 1MD3

Introduction to Programming (Tutorial)

COMP SCI 1XA3

Computer Science Practice (Lecture)

11:30 a.m.
MATH 1ZC3

Engineering Mathematics A (Lecture)

MATH 1ZC3

Engineering Mathematics A (Lecture)

COMP SCI 1XA3

Computer Science Practice (Lecture)

12:30 p.m.
MATH 1ZB3

Engineering Mathematics B (Lecture)

MATH 1ZB3

Engineering Mathematics B (Lecture)

MATH 1ZC3

Engineering Mathematics A (Lecture)

1:30 p.m. Elective Elective
MATH 1ZB3

Engineering Mathematics B (Tutorial)

Elective
MATH 1ZB3

Engineering Mathematics B (Lecture)

2:30 p.m.
MATH 1ZC3

Engineering Mathematics A (Tutorial)

3:30 p.m.
4:30 p.m.
COMP SCI 1MD3

Introduction to Programming (Lecture)

COMP SCI 1MD3

Introduction to Programming (Lecture)

COMP SCI 1MD3

Introduction to Programming (Lecture)

5:30 p.m.

McMaster’s Computer Science I program is administered from the Information Technology Building (ITB), however, classes may be held in the Engineering Technology Building (ETB), or the John Hodgins Engineering Building (JHE).

The services and programs available for Computer Science I students include:

  • an Engineering Student Services office to provide support for first-year undergraduate students including a dedicated Level I Academic Advisor
  • an Engineering Co-op and Career Services office
  • small tutorial/lab groups
  • a state-of-the-art Elliptical Computer Lab, dedicated exclusively to Faculty of Engineering – Level I programs
  • the student-run McMaster Computer Science Society

 

Profiles & Alumni