Hello! I am Kyu, and I am a rising fourth-year (Class of 2023) studying Computer Science and Economics at the University of Chicago. I am currently looking for SWE/PM roles after graduation, hoping to work at Tech/FinTech industry! I am interested in desktop/mobile application development, game development and full-stack development, where I could build useful products that could be utilized and loved by many people!
- B.S. in Computer Science and B.A. in Economics
- Expected graduation date: June 2023
- Email me at: [email protected]
- Programming Languages: C, Python, C++, Java
- Software: Microsoft Office, Google Suite, Domo
- Currently Learning: AWS Practicing, R, Computer Systems & Architecture, Machine Learning
- CMSC 25910: Engineering for Ethics, Privacy, and Fairness in Computer Systems
- This course takes a technical approach to understanding ethical issues in the design and implementation of computer systems. Tensions often arise between a computer system's utility and its privacy-invasiveness, between its robustness and its flexibility, and between its ability to leverage existing data and existing data's tendency to encode biases. The course will demonstrate how computer systems can violate individuals' privacy and agency, impact sub-populations in disparate ways, and harm both society and the environment. It will also introduce algorithmic approaches to fairness, privacy, transparency, and explainability in machine learning systems. Through hands-on programming assignments and projects, students will design and implement computer systems that reflect both ethics and privacy by design. They will also wrestle with fundamental questions about who bears responsibility for a system's shortcomings, how to balance different stakeholders' goals, and what societal values computer systems should embed.
- Repository
Click to view more
- CMSC 15100: Introduction to Computer Science I
- This sequence, which is recommended for all students planning to take more advanced courses in computer science, introduces computer science mostly through the study of programming in functional (Scheme) and imperative (C) programming languages. Topics include program design, control and data abstraction, recursion and induction, higher-order programming, types and polymorphism, time and space analysis, memory management, and data structures including lists, trees, and graphs.
- Repository
- CMSC 15200: Introduction to Computer Science II
- This sequence, which is recommended for all students planning to take more advanced courses in computer science, introduces computer science mostly through the study of programming in functional (Scheme) and imperative (C) programming languages. Topics include program design, control and data abstraction, recursion and induction, higher-order programming, types and polymorphism, time and space analysis, memory management, and data structures including lists, trees, and graphs.
- Repository
- CMSC 15400: Introduction to Computer Systems
- This course covers the basics of computer systems from a programmer's perspective. Topics include data representation, machine language programming, exceptions, memory systems, and being the client of an operating system. Our goal is to help students be more effective programmers and to prepare students for advanced systems courses, such as architecture, compilers, operating systems, and networks. The course involves homeworks, exams, labs, and programming projects. Proficiency in C programming is assumed, as per the course pre-requisites.
- Repository
- CMSC 22000: Introduction to Software Development
- Developing a software system (e.g., an application, a web server, an operating system, etc.) requires much more than just knowing how to program. Software development encompasses multiple activities, such as systems design, implementation, testing, debugging, deployment, documentation, and maintenance, all weaved together by following a specific methodology. Not just that, software development is a highly collaborative activity, where certain skills, like effective communication and the ability to give/receive feedback, can be key to the success of a software project. This class bridges the gap between knowing how to program and knowing how to develop software: it is intended for students who have recently completed CMSC 15200 Introduction to Computer Science 2 or CMSC 16200 Honors Introduction to Computer Science 2, and will cover fundamental concepts and skills in software development, providing a solid foundation before students move on to majors-level classes that require developing complex software systems. The class will cover foundational topics in software development in lectures, but will also include hands-on homeworks, guest lectures from industry speakers, and a collaborative quarter-long project, where the entire class, divided into teams with specific responsibilities, will work on developing new features for an existing software system.
- Repository
- CMSC 22240: Computer Architecture for Scientists
- Designed to provide an understanding of the key scientific ideas that underpin the extraordinary capabilities of today's computers, including speed (gigahertz), illusion of sequential order (relativity), dynamic locality (warping space), parallelism, keeping it cheap - and low-energy (e-field scaling), and of course their ability as universal information processing engines. These scientific "miracles" are robust, and provide a valuable longer-term understanding of computer capabilities, performance, and limits to the wealth of computer scientists practicing data science, software development, or machine learning.
- Repository
- CMSC 22880: Introduction to Quantum Computing
- This introduction to quantum computing will cover the key principles of quantum information science and how they relate to quantum computing as well as the notation and operations used in QIS. We will then take these building blocks and linear algebra principles to build up to several quantum algorithms and complete several quantum programs using a mainstream quantum programming language.
- Repository