Skip to content

Latest commit

 

History

History
57 lines (42 loc) · 2.68 KB

student-journey.md

File metadata and controls

57 lines (42 loc) · 2.68 KB

Student Journey

This section reviews the path a single student can take over 4 years in college participating in CodePath.org courses.

As part of participating in our programs, we've developed a technical mastery framework that we can use to assess and help personalize the coaching for students based on their needs.

Sample Student Path

It's important to note that every student's path might be different but we should encourage them to complete at least the following of our programs while in school:

  • Complete 1-2 of our software fundamentals course sequence
  • Complete 1-2 special topics courses
  • Participate in 1-2 virtual career fairs
  • Work in 1-2 technical internships
  • Help as a TechFellow on at least one course they completed

This illustration summarizes the steps a student might take over 4 years:

This is an example path a student might take through our various courses over their four years:

  1. Freshman Year
    • Mobile App Design
    • Intro Software Fundamentals (SE101)
  2. Sophomore Year
    • Intermediate Software Fundamentals (SE102)
    • 1st Special Topic: Android for CS
    • Virtual Career Fair I (Internship)
  3. Junior Year
    • Advanced Software Fundamentals (SE103)
    • 2nd Special Topic: Cybersecurity
  4. Senior Year
    • Android for CS (TechFellow)
    • Cybersecurity (TechFellow)
    • Virtual Career Fair II (first full-time role)

Technical Mastery Framework

This student technical mastery framework enables us to accurately evaluate student skill levels and personalize their growth plans. There are six key areas to software fundamentals:

  • Algorithms - Deciding and defining algorithms
  • Design - Object-oriented and system design
  • Coding - Implementing algorithms into running code
  • Analysis - Time/space complexity analysis, trade-off analysis
  • Debugging/Verification - Diagnosing edge cases, test cases
  • Technical communication - Writing and speaking about code and projects

Each of these areas is applied in various ways throughout all aspects of software engineering including:

  • Technical interviewing at companies before getting an offer
  • Developing a new application in a variety of technical areas
  • Catching and solving issues that inevitably arise during development
  • Communicating your work to your peers and manager
  • Creating re-usable libraries that other engineers can apply

We work to reinforce, develop, and measure different aspects of these six areas throughout all of our various course offerings, with these being especially emphasized in our three-part software fundamentals series.