Deacon's Blog Deacon's Blog
Front Page
  • UBC
  • Algorithm
  • My plan
  • Game Related
  • About this Site
  • About me

Deacon

UBC CS💻 ’27
Front Page
  • UBC
  • Algorithm
  • My plan
  • Game Related
  • About this Site
  • About me
  • UBC

  • Algorithm

  • Plan

    • Learning Plan and Direction for C/C++
    • Study
    • Plan
    Deacon
    2025-02-27
    Content

    Learning Plan and Direction for C/C++

    front

    There are 10 types of people in the world: those who understand binary and those who don’t.

    # Learning Plan and Direction:

    Choosing a more challenging, higher-threshold C++ path means fewer available positions but a wider variety of directions.

    Career Options:

    • Business-oriented roles: Backend, client-side, game development, audio/video development
    • Low-level, high-performance roles: Operating systems, databases, network libraries, caching pools
    • Broad directions: Artificial intelligence, big data, network security

    # Game Related:

    Rendering Pipeline: Learn how to leverage graphics hardware to render images, including lighting, shadows, textures, and materials.

    OpenGL, DirectX, Vulkan: Understanding these graphics APIs helps you learn how to communicate with hardware for rendering.

    3D Models and Animation: Covers handling 3D models, skeletal animations, and physics simulations.

    Shader Programming: Learn to write shaders on the GPU using GLSL, HLSL, etc.

    • A game engine requires efficient concurrency to support multi-core CPU architectures.
      Use multi-threading to manage various tasks such as rendering, physics simulations, and AI.

    Collision Detection: Understand how objects collide and interact in 3D space.

    Rigid Body Physics: Learn to simulate movement, rotation, velocity, and acceleration of solid objects.

    Soft Body Physics: Tackle more complex simulations (e.g., cloth, fluids).

    Linear Algebra: Matrices, vectors, quaternions, and transformations—fundamental for graphics and physics engines.

    3D Spatial Understanding: Managing coordinate systems, rotations, scaling, and other transformations in three-dimensional space.

    Numerical Computation and Optimization: Ensure the engine runs efficiently by addressing potential performance bottlenecks.

    (All of this is more of a future consideration—game development is an interest, not part of the main career plan.)


    # Sophomore Second Semester and Summer Study Plan

    Learning Content Time Spent Completion Level
    C语言:Mooc 翁恺 2025.3 - current in progress
    CS50 2025.3 - current in progress
    C primer plus 2025.3 - current in progress
    C程序设计进阶
    数据结构:Mooc 陈越
    大话数据结构
    数据结构与算法分析:C语言描述
    数据结构刷题 2025.3 - current
    C++看b站播放前三网课
    C++ Primer Plus
    C++ 网络编程
    尹圣雨《TCP/IP 网络编程》
    菜鸟教程 socket api
    熟悉MySQL基础(视频见下方)
    《mysql必知必会》
    Linux常用操作
    《鸟哥的linux私房菜》
    《Unix网络编程》

    笔记

    Data Structure Exercises:For Beginners洛谷,Refer to the problem list here (opens new window)

    Purpose of Solving Problems:

    • To participate in competitions; the most recognized ones are algorithm competitions.
    • Preparation for mid- to large-scale company interviews.

    菜鸟教程:网络聊天室/文件传输系统 demo尝试,之后开始看《unix网络编程》

    • 实现简易的聊天室系统:使用多线程,学习并发控制,同步

    MySQL:DDL、DQL、DML以及独立解决数据库环境问题

    • Video Tutorials on Bilibili (opens new window)

    Linux常用操作:Video Tutorials on Bilibili (opens new window)


    # Junior First Semester Plan

    Learning Content Time Spent Completion Level
    Github Projects(one to two)
    操作系统 哈工大 李治军
    《操作系统导论》
    x86汇编 王爽 《汇编语言》
    Mooc 计算机网络 李全龙
    《计算机网络:自顶向下方法》
    2月做简历,3-5月投递(预期)
    Intern

    笔记

    Github项目:找C++项目(语言限定),star>5000GitHub Project Search Tutorial (opens new window)

    • 相对来说,Websever烂大街一些,相关的开源项目多一些
    • C++中的后端大部分技术,包括网络编程,linux,多线程,其他方向也可以用得到
    • 项目举例:轻量级HTTP服务器 (opens new window)

    复线或者优化核心模块,面试的时候说得出项目结构,实现过程,所用技术就可以

    操作系统 哈工大 李治军 (opens new window)

    • 自己做一个OS、compiler
    • MIT6.828 MIT6.824 Stanford144跟着做lab

    操作系统项目:

    • 进程调度:实现基本的 进程调度算法,处理进程状态的转换和调度
    • 内存管理:实现 虚拟内存、分页和分段管理,并设计内存回收和页面置换算法
    • 文件系统:实现文件存储、读写、权限管理等基本功能
    • 比如写数据库:设计简单的查询处理和事务管理系统。实现基本的存储引擎,如支持B+,树索引,哈希索引

    计算机网络 李全龙 Mooc (opens new window)

    • 实现网络库
    #我这一辈子
    last updated: 3/11/2025, 4:12:24 AM
    Missing Traversals

    ← Missing Traversals

    Recently Updated
    01
    Second Year 2nd term
    05-04
    02
    About me
    03-10
    03
    About this site
    03-10
    More articles
    Theme by Vdoing | Copyright © 2024-2026 Deacon | All rights reserved.
    • Follow System
    • Light Mode
    • Dark Mode
    • Reading Mode