Bill Hu

Undergraduate Student @ ShanghaiTech University
Exchange Student @ University of Wisconsin-Madison

Enter Homepage
Bill Hu

Bill Hu

ShanghaiTech University 2024', B.Eng. Candidate in Computer Science

I'm currently a senior undergraduate of ShanghaiTech University, School of Information Science and Technology (SIST), majoring in Computer Science. In Spring 2023, I was admitted as an exchange student at University of Wisconsin-Madison.

My scientific interests include Computer Architecture, Artificial Intelligence, Machine Learning, Computer Vision and more.

Honors and Awards

  • ShanghaiTech Outstanding Student (Top 15% in SIST), Dec. 2022
  • ShanghaiTech Scholarship (Top 15% 2022-2023 Academic Year Scholarship for International Exchange), Jun. 2023
  • ShanghaiTech Outstanding Student (Top 15% in SIST), Dec. 2023

Education

Course Projects

Here are part of the course projects finished independently or collaboratively.

To see more of my projects...

Visit My GitHub  

Skills

Summary

Programming Languages: C&C++, Python, Frontend ...

Libraries/Other: Numpy, SciPy, PyTorch, JQuery, Vue, React, OpenGL, OpenCV, *nix, Git, ...

Python

I began learning programming with Python2 since my childhood (before the release of Python3). After entering university, I've had extensive experience with Python3 through course projects and research, like the AI aircraft warfare game.

C and C++

I have learned and used C, C++ a lot in my university years. For example, I used C to program on Arduino and Longan nano (singlechip), used C++ to re-implement algorithms, to write cross-platform apps in QT development, and to program with OpenGL. My projects include a NURBS surfaces ray tracer and Computer Architecture projects.

Java / Kotlin

I have used java to implement algorithms and in Android development (still learning) in my spare time, especially during my studying at UW-Madison. In addition my C++ knowledge enables me to better comprehend the underlying structure of Java, such as reference counting, garbage collection, NullPointerException, among others.

Frontend

I have self-learned some frontend (HTML, CSS, JavaScript) knowledge in my spare time, and created some webpages by plain HTML or with the help of jQuery and Vue, including my blog.

Node.js

As a JavaScript/TypeScript lover, I have been using Node.js for many things, such as rendering a website, building a webserver, and building desktop apps with Electron.

MATLAB

I have used MATLAB extensively in Signal Processing lab course. I think MATLAB is a super powerful tool to help me finish signal processing tasks, such as Fourier analysis and some image processing jobs.

OpenGL

In Fall 2022 I took one of the most hardcore classes at ShanghaiTech - Computer Graphics. Among the assignments, I used OpenGL to implement complex tasks, such as modeling of Bezier surfaces and cloth simulation.

Git

I've been using Git as a version control tool since my first project. Until now, almost all my projects are done under the help of Git workflows, no matter individual or team-based.

*nix

Since 2020, I used Linux extensively during many CS courses like Computer Architecture and relavant projects, and I have been more and more familiar with Linux. In addition I love developing on the macOS platform, for its Unix-like command line tools.