Guide to High School Computer Science
  • 💻Introduction
    • windows & Python Development
    • macOS & Python Development
    • Visual Studio Code Settings
    • Set up Github
    • Author Page
  • 🧠Prerequisite Skills
    • Keyboard Typing
    • Files & Directories
    • Use of Command Line
    • Git & GitHub
    • Markdown
    • Starting Your Python Project
  • 🐍Python Programming
    • 🍎Python Basics
      • What is Python?
      • Procedural Programming & Programming Paradigms
      • String Formatting
      • Data Types
      • Input & Output to Console
      • Working with Numbers
      • Useful Built-in Functions
      • Math & Random Module
      • Boolean Data Object
      • Comparison, Logical, and Membership Operators
      • If Statements
      • Binary Decisions
      • Multiple Decisions
      • Nested Conditions
      • [EXTRA] Bitwise Operators
      • [EXTRA] Python Style Guide
    • ⏮️Iterations
      • Introduction to While Loops
      • Infinite Loop
      • Controlling Your While Loops
      • Introduction to For Loops
      • For Loops w/ Numeric Sequences
      • For Loops w/ Strings & Lists
      • Iterable Functions w/ For Loops
    • 📦Collections
      • Strings
        • String Basics
        • String Indexing
        • String Slicing
        • String Operators & Functions
        • Basic String Methods
        • String Methods Extended
        • String Methods Document
      • Tuples & Lists
        • Tuples
        • List Basics
        • List are Mutable
        • Adding Items to a List
        • Removing Items from a List
        • Search & Reverse a List
        • List Comprehension
        • List Methods Document
      • Sets
      • Dictionary
      • How to Store Multiple Data Items
    • 💡Defining Functions
      • Functions
      • print() vs return
      • Pre-determined Arguments
      • Nested Functions
      • Map & Filter
      • [Extra] Dynamic Arguments
    • 💾File I/O
      • How to Save Text to an External File
      • Reading CSV in Python
      • Reading JSON in Python
    • 🔨Basic Python Projects
      • Basic Calculator
        • Improving the calculator
        • Exercise Set 1
        • Exercise Set 2
        • 💎Streamlit Application #1
      • Basic Password Generator
        • Exercise Set 3
        • Exercises Related to Math
        • 💎Streamlit Application #2
      • A To-Do Task List
    • ⏳Introduction to Algorithmic Thinking
      • Big-O Notation
      • Basic Algorithms
        • Linear Search
        • Binary Search
        • Basic Sorting Algorithms
      • Recursion
      • Brute Force Algorithms
      • Greedy Algorithm
        • Time on Task (CCC 2013 J4)
        • Dijkstra’s Algorithm
      • Divide and Conquer
        • Merge Sort
      • Dynamic Programming
    • 🤯Object Oriented Programming
      • Class & Objects (Definitions)
      • OOP in Python
      • Encapsulation
      • Polymorphism
      • Inheritance & Overriding
      • Override Magic Methods
      • Case Study: 2D Vectors
      • Case Study: Deck of Cards
      • Exercise
      • Abstract Data Types
      • Case Study: Static 1D Array From Java
    • Competitive Programming
      • Is This Sum Possible?
        • Is the dataset sorted?
        • Searching for a value
        • Determine if the difference between an integer from the array and the target value exists
        • Sorting Algorithms
        • Using Two Pointers
      • Two Sum - LeetCode
        • Generate all possible pairs of values
        • Subtract each value from the target, see if the difference exists in the list
      • Longest Common Prefix - LeetCode
        • Compare all possible prefixes
        • Create the longest common prefix with the direct neighbour
      • Length of Last Word - LeetCode
        • Compare all possible prefixes
      • Where can I go from one point to another?
      • Sample Outline
    • IB Recipe Book
  • 💾Python & Databases
    • Intro to Databases & Data Modeling
      • Common Data Types in SQL
      • Introduction to ERDs
      • Primary Keys and Foreign Keys
      • Database Normalization
    • What is SQL?
      • Getting Started
      • SELECT Queries
        • Selection with Conditions
        • Selection with Fuzziness
        • Selection and Sorting in Order
        • Selection without Duplicates
        • Selection with Limited Number of Outputs
      • AGGREGATE Queries
        • Counting Rows
        • Sum, Average, Min/Max Queries
        • Working with Aggregate Queries
        • Power of using Groups
        • Exercise
      • Interacting with Multiple Table
      • Inserting Data
      • External Resource
  • ☕Java Essentials
    • Basics
      • Starting Java
      • Data & Variables
      • Handling User Inputs & Type Conversion
      • Arithmetic
      • IPO Model
      • Basic Built-in Methods
      • Exercise Questions
    • Conditionals
      • Boolean Operators
      • Compare Strings
      • If Statements
      • If Else Statements
      • Making Multiple Decisions
      • Using Switch
      • Flowchart Symbols
      • Exercise Questions
    • Iterations
      • While Loops
      • For Loop
      • Exercises
    • Java Type Casting
    • Strings
      • Common String Practices
      • String Formatting
      • Java Special Characters
    • Collection
      • Arrays
      • For Each Loop
      • ArrayList
      • Exercise Questions
    • Static Methods
      • (Aside) Clearing your Console
    • Randomness in Java
    • Delayed Output in Java
    • Java Output Formatting
    • Java Style Guide
  • 🛠️JavaScript Programming
    • Our Programming Editor & Workflow
      • Hello, world!
      • Commenting & Variables
      • Data in JavaScript
      • Operators
      • String Formatting
      • Getting User Input
    • JavaScript Exercise Set 1
    • Making Decisions
      • Comparing Values
      • Combining Boolean Comparisons
      • Creating Branches
    • JavaScript Exercise Set 2
    • While Loops
      • Infinite While Loop
      • While Loops and Numbers
      • While Loops and Flags
      • While loops w/ Strings
    • JavaScript Exercise Set 3
    • Subprograms & Functions
      • Creating a Function in JavaScript
      • Function with Input and Assignable Output
    • JavaScript Exercise Set 4
  • 💾Topics in CS
    • Computer Environments & Systems
      • Computer Components
        • In-depth Explanations
      • File Maintenance
      • Computer & Safety
      • Software Development
      • Bits & Binary
    • Careers related to Computer Science
    • Postsecondary Opportunities
Powered by GitBook
On this page
  • How to get a job in the Tech Industry
  • Route to a Career
  • Differences between CS & Engineering
  • What to do after high school ranking:
  • Other Great Programs
  • Self-study Certificates Programs
  1. Topics in CS

Postsecondary Opportunities

This following chapter is written in the bias of Mr. Jasper Park. The following is based on his personal experiences, his peers' experiences, and his former students.

(Edited September 2023)

Your degree does not matter as long as you are a right fit for the company.

You can literally have a degree in political science as long as you know how to code for a tech company.

How to get a job in the Tech Industry

Skills Needed:

  • Programming Background --> Do you have your basics knowledge in your field? Do you know how to create in the environment/language/stack the company uses?

  • Consistent Learner --> can you study and figure it out own your own?

  • Social Skills --> Are you a valuable human being in a team that can convey what you do and contribute to meetings?

  • Experience --> Do you have practical experience or is your knowledge only theoretical?

If you have a job title that you like, analyze all the qualifications and requirement that job title states from multiple postings.

This will narrow down what you would need to know by the time you interview.

Route to a Career

  1. University Program (4 to 5 Years)

  2. College Program (2 to 3 Years or even more)

  3. College to University Transfer (X Years)

  4. Bootcamp Program (3 Months to 2 Years+)

  5. Self-Study / Portfolio Based (Depends on you)

Differences between CS & Engineering

  • Most CS programs are smaller subsections of the university itself. Therefore, it shares resources with all other "faculties".

  • Most Engineering programs are offered by a separate school. (Much similar to business/commerce programs in universities). This often means that they have their own set of classes, professors, and budget compared to different faculties a university may have

  • ENG4U (Grade 12 University English)

  • MHF4U (Grade 12 University Advanced Functions)

  • MCV4U (Grade 12 Calculus & Vectors)

  • Three other U or M level courses to create a Top-6 Average.

  • ENG4U (Grade 12 University English)

  • MHF4U (Grade 12 University Advanced Functions)

  • MCV4U (Grade 12 Calculus & Vectors)

  • SPH4U (Grade 12 Physics)

  • SCH4U (Grade 12 Chemistry)

  • One More U or M Course to create a Top-6 Average.

Minimum 40 Hours of Volunteering Services. More the better.

You should have a diverse extracurriculars that highlight your athletics, leadership, diversity, passion and work ethics. These extracurriculars can be from inside and outside of school.

Compete in Mathematics, Physics, Chemistry, and Computer Science contests. Results don't really matter as long as you try it seems. (this may change in the future). DECA and other comparable competitions also are good.

Improve on your writing skills for all the entrance essays.

Some universities started to do video interviews. ** (needs more research)

Both degrees often get you the same jobs.

What to do after high school ranking:

  1. University of Waterloo Engineering (Computer, Electrical, Mechatronics, Software, and System Design)

  2. University of Waterloo Computer Science

Both programs are rated very high above the rest because only one thing: CO-OP. U of Waterloo offers the best co-op program in Canada.

Nothing else is really all that special about the university.

Getting into a CO-OP program DOES NOT GUARANTEE you are co-op placement. You still have to interview during your midterm seasons.

The only reason Waterloo has a high rate of co-op because the students that don't get co-op are kicked out of the program.

  1. Schools with at least 4, 8, 12 month internship programs.

University of Toronto is a well respected school with the best graduate program in Canada (not the best undergraduate program though). University of Waterloo might be considered a "3A" ranking because they are just closer to more tech-based companies by sheer geographical location.

McMaster, Queen's, and Western all offer similar internship programs.

All four of these universities are interchangeable and very reputable. Although Queen's > Western any day.

  1. University of Ottawa Co-Op

The only reason that I cannot place this higher than the third option is because I currently don't have enough graduates from the school to track their career trajectory.

Their co-op program is very similar to Waterloo's and it should give a very good career advantage to their graduates.

  1. College

Ontario has a strong portfolio of great colleges and they offer specialize programs for the tech sector. These programs will often be , include co-op, and financially cheaper compared to going to a university.

  1. Alternatives

  • Go to a 4 year program of your choice and invest all your free time to improving your resume.

  • Try a bootcamp

  • Try taking a gap year to study and code on your own

Other Great Programs

  1. Computing and Financial Management @ U of Waterloo

  2. Business Administration (BBA) and Computer Science (BSc) @ Wilfred Laurier University

  3. UBC and McGill are both great out of province destinations

  4. Engineering Science @ University of Toronto

  5. Biomedical Computing @ Queen's University

Self-study Certificates Programs

PreviousCareers related to Computer Science

Last updated 11 months ago

--> A great way to learn specialized skills in a industry of choice

--> Amazon Web Services (AWS) is a system that powers most of the Internet, Amazon offers a lot of certification courses to help you learn how to set them up

--> Azure is a very strong professional cloud service that helps a lot of businesses. Getting certified in any field that utilizes Azure is a good way to get into the industry

💾
Google Career Certificates
AWS Certifications
Microsoft Certifications