Skip to main content

5. Semester-by-Semester Guide

The most important part: what to achieve each year. The goal is not to "pass courses" but to accumulate evidence of ability (code, projects, portfolio).

Year 1 β€” Build Foundations​

  • Focus: get comfortable with programming, foundational math, and university life.
  • Aim to complete:
    • A GitHub profile + a few repos.
    • 2–3 small mini-projects.
    • Solid basics in C/C++ or Python.
  • Avoid: studying only to pass without coding yourself; copying work you don't understand.

Year 2 β€” Learn How Systems Work​

  • Focus: DSA, OOP, computer architecture, databases.
  • Aim to complete:
    • A project with a database.
    • Regular DSA practice.
    • Teamwork using Git (branch, PR, review).
  • Avoid: memorizing DSA; teamwork without using Git.

Year 3 β€” Pick a Direction​

  • Focus: Operating Systems, Networks, Software Engineering, direction-specific courses.
  • Aim to complete:
    • One large project in your chosen direction.
    • A clear portfolio (tidy GitHub, good READMEs).
    • Start thinking about internships (see Career Preparation).
  • Avoid: chasing too many directions at once; abandoned projects with no demo.

Year 4+ β€” Build Evidence​

  • Focus: internship, specialized project, capstone (graduation thesis).
  • Aim to complete:
    • A complete CV + LinkedIn + GitHub.
    • A project demo + a technical report.
    • Join a lab/competition if you're on a research track (Research, Lab & Competitions).
  • Avoid: leaving the capstone to the last minute; not recording your process (commit history, reports).

See a real graduation project at ACLAB: VR Teleoperation of a Denso VS-6577 Robot Arm.