Computer Science

This course explores fundamental concepts in computer science, including programming, algorithms, data structures, and software development. We work with multiple programming languages and learn how to approach complex problems systematically. The class emphasizes both theoretical understanding and practical application through hands-on projects.

Algorithm Analysis Project

This project is a simple NES side-scrolling shooter game written in 6502 assembly and built with the ca65/ld65 toolchain. The player controls a spaceship that can move in four directions and shoot bullets while the screen scrolls horizontally. Enemies spawn periodically from the right side of the screen and move left toward the player. The game includes collision detection between bullets and enemies, as well as between enemies and the player. The player starts with three lives, gains temporary invulnerability after being hit, and the game ends when all lives are lost. Core NES features such as sprites, palettes, controller input, scrolling, and NMI-based frame updates are implemented.

October 2024
View PDF