#show heading: set text(font: "Linux Biolinum")

#show link: underline

#set page(
  margin: (x: 0.9cm, y: 1.3cm),
)

#set par(justify: true)

#let separate() = {v(-3pt); line(length: 100%); v(-5pt)}

= <NAME>

<EMAIL> |
<EMAIL> | 
#link("https://github.com/cocodery")[github.com/cocodery]

== Education
#separate()

#link("http://www.cse.neu.edu.cn/")[Northeasten University] #h(1fr) 2019/09 -- 2023/07 \
Bachelor of Engineering in Computer Science and Technology #h(1fr) <NAME>, China \
- GPA 3.78 / 5.00, Outstanding Graduation Project(Thesis) for Undergraduate Students of Class2023 (#link("http://www.cse.neu.edu.cn/2023/0614/c6274a231929/page.htm")[1st place])
- A+ Courses(greater or equal to 90): Data Structures, Computer Organization, Computer Architecture, and 28 others

== Undergraduate graduation Project
#separate()

*Compiler Design and Implementation, from subset of C programming language to RISC-V assembly language*
Northeastern University, Advised by Professor <NAME> #h(1fr) Shenyang, China \
- Use parser tool #link("https://www.antlr.org/")[ANTLR] help with parsing SysY source code file and transfer it into ANTLR AST data structure
- Lowering AST into self-defined #link("https://llvm.org/docs/Reference.html#llvm-ir")[LLVM-IR] like intermediate representation for further processing
- Reproduce and design optimization algorithm, include mem2reg, DCE, DVNT, SCCP, recursive optimization, etc
- Generate LLVM IR file and verify them through #link("https://llvm.org/docs/CommandGuide/lli.html")[LLVM-Interpreter] for coverage of compiler functionality
- Calling LLVM backend and generate assembly file and running on #link("https://www.qemu.org/docs/master/system/target-riscv.html")[QEMU-RISCV]
- Result: fully support SysY and have similar performance with gcc -O2 and clang -O2

== Projects
#separate()

#link("https://github.com/cocodery/c2rvcompiler")[*C2RVCompiler*] #h(1fr) 2023/02 -- 2023/08 \
A compiler to translate SysY, a subset of C language, to RISC-V assembly language #h(1fr) Team Leader \
- Design front-end of compiler, type system, and intermediate representation
- Reproduce and design optimization algorithms, like mem2reg, DVNT, inline, SCCP, DCE, unrolling, etc

#link("https://github.com/cocodery/SysYCompiler")[*SysYCompiler*] #h(1fr) 2022/05 -- 2023/08 \
A compiler to translate SysY, a subset of C language, to ARM32 assembly language #h(1fr) Team Leader \
- Design front-end of compiler, type system, and intermediate representation
- Part of back-end of compiler, linear scan algorithm for register allocation

*NeuMIPS* #h(1fr) 2022/05 -- 2023/08 \
A 6-stage, dual-issue CPU for MIPS32 #h(1fr) Team Co-Leader \
- Framework construction of basic 5-stage pipeline CPU and enabling executing unprivileged instructions of MIPS32
- Booting a real operating system, successfully boot PMON, uCore, etc

== Open-Source Contribution
#separate()

#link("https://github.com/rust-lang/rust-clippy")[*rust-lang/rust-clippy*] \

Successfully merged: \
#link("https://github.com/rust-lang/rust-clippy/pull/11907")[PR\#11907] (fixes #link("https://github.com/rust-lang/rust-clippy/issues/11885")[Issue\#11885]) (merged on 08 Dec 2023) \
#link("https://github.com/rust-lang/rust-clippy/pull/11998")[PR\#11998] (fixes #link("https://github.com/rust-lang/rust-clippy/issues/11762")[Issue\#11762]) (merged on 23 Dec 2023)  \
#link("https://github.com/rust-lang/rust-clippy/pull/12049")[PR\#12049] (fixes #link("https://github.com/rust-lang/rust-clippy/issues/11243")[Issue\#11243]) (merged on 09 Jan 2024)  \
#link("https://github.com/rust-lang/rust-clippy/pull/12125")[PR\#12125] (fixes #link("https://github.com/rust-lang/rust-clippy/issues/12045")[Issue\#12045]) (merged on 19 Jan 2024)  \
 #link("https://github.com/rust-lang/rust-clippy/pull/12083")[PR\#12083] (fixes #link("https://github.com/rust-lang/rust-clippy/issues/11932")[Issue\#11932]) (merged on 28 Jan 2024)  \
#link("https://github.com/rust-lang/rust-clippy/pull/12650")[PR\#12650] (fixes #link("https://github.com/rust-lang/rust-clippy/issues/12098")[Issue\#12098]) (merged on 09 May 2024) 

#link("https://github.com/rust-lang/rust")[*rust-lang/rust*] \
#link("https://github.com/ferrocene/ferrocene")[*ferrocene/ferrocene*] \
6 contributions from #link("https://github.com/rust-lang/rust-clippy")[rust-lang/rust-clippy] mentioned above have synchronised. \
#link("https://github.com/rust-lang/rust/commits?author=cocodery")[Rust Commit Statistics] \
#link("https://github.com/rust-lang/rust/commits?author=cocodery")[Ferrocene Commit Statistics]
\

== Awards
#separate()

*Honor* \
- Outstanding Graduation Project(Thesis) for Undergraduate Students of Class2023(1st place) #h(1fr) 2023/07
- 3rd Class Scholarship of Northeastern University #h(1fr) 2021/09-2022/07
- 3rd Class Scholarship of Northeastern University #h(1fr) 2020/09-2021/07
- 2nd Class Scholarship of Northeastern University #h(1fr) 2019/09-2020/07

*Competition*
- 3rd prize of National College Student Compiler System Design Challenge\' 2023 #h(1fr) 2023/05 - 2023/08
- 3rd prize of National College Student Compiler System Design Challenge\' 2022 #h(1fr) 2022/05 - 2022/08
- 3rd prize of National College Student LoongSon Cup (CPU Design Challenge)\' 2022 #h(1fr) 2022/05 - 2022/08
- winner award of National College Student OS kernel challenge\' 2022 #h(1fr) 2022/05 - 2022/08
- 2nd prize of National College Student Mathematics Competition\' 2020 #h(1fr) 2020/05

== Skills
#separate()

*Programming languauges : * Rust, C++, C, Python \
*System and Tool : * Linux, Git, Cargo, CMake, make, Antlr \
*Technical Skills : * Compiler, Operating System(especially unikernel), Computer Architecture \
*Language : * Chinese(native), English(IELTS 6.5(B2))

#h(1fr) latest update on: 2024/Jun/02
