The post-baccalaureate
certificate in Computer Science teaches you the necessary skills needed to find
your dream IT Job. It also helps you to obtain the essential requirements to
apply to the MSc in Computer Science.
This program is for you if:
(a) you are recent graduates who do not have a Computer Science degree and
are interested in working in the IT industry
(b) you wish to apply for the
online master's in the computer science program at WLU and lack the required courses.
You must
have a 3 or 4-year General or Honours bachelor's
degree in any discipline except Computer Science with a minimum overall average
of B, or equivalent, from an accredited university.
This 3.0
credit post-baccalaureate program is a fully online program, designed to be
completed in one year of part-time studies. The program allows you to stay where you are, continue
what you are doing, and plan to achieve your career ambitions or degree.
Upon
completion of the post-baccalaureate certificate in Computer Science, you will:
Students are advised to take two courses per
term over three terms in a structured order, to ensure that they have the
necessary prerequisites as they go from foundational to more advanced
knowledge. This is only a recommended timeline, however, and students may
take up to three years to complete the program requirements. The program courses are listed below.
An
introductory course designed to familiarize the student with modern software
development techniques. Emphasis is on problem-solving and structured program
design methodologies. Programming projects are implemented in a widely used
high-level language.
Introduction to the study of data structures and their
applications. Recursion, searching, sorting. Queues, stacks, heaps.
Introduction to the analysis of algorithms, big “O” notation.
Fundamentals of object-oriented programming, classes, subclasses, inheritance, references, overloading, event-driven and concurrent programming, using modern application programming interface. The language Java will be used.
Finite and discrete algebraic structures relating to computers: sets, functions, relations. Machine-oriented logic. Topics include: propositional and predicate calculus, Boolean algebra, combinatorial counting (including Pigeonhole principle, permutations and combinations), recurrence equations, applications of recurrence equations in sorting algorithms, relations (including equivalence relations, partial orders), algorithms to generate permutations and combinations, induction and recursive programs, correctness proofs for both recursive and iterative program constructions, countable and uncountable sets, Cantor's theorem, introduction to graph theory and graph algorithms.
A continuation of the study of data structures and their applications using C. Linked lists, binary search trees, and balanced search trees. Hashing, collision-avoidance strategies. A continuation of basic algorithm analysis.
Analysis of the best, average, and worse case behaviors of
algorithms. Algorithmic strategies: brute force algorithms, greedy algorithms,
divide-and-conquer, branch and bound, backtracking. Fundamental computing
algorithms: O (n log n) sorting, hash table, binary trees, depth- and
breadth-first search of graphs.
To
ensure that you have the necessary knowledge to complete the course successfully,
you must take the courses in the order specified below.
Term #1 |
Term #2 |
Term #3 |
CP104: Introduction to Programming |
CP264: Data Structures II |
CP213: Intro to Object-Oriented Programming |
CP164: Data Structures I |
CP214: Discrete Structures for Computer
Science |
CP312: Algorithm Design and Analysis I |
Students will complete CP104 and CP164 as six-week courses. CP164 relies on knowledge established in CP104. The remainder of the courses will be completed as regular 12-week courses which can be completed concurrently in a term.