/cos-126

Containing all the coding projects and assignments I've completed in COS 126 @ Princeton. (Including some custom algorithms that placed at the top of the leaderboards in my class)

Primary LanguageJava

cos126_logo

COS 126 - Computer Science: An Interdisciplinary Approach

This repository contains the Java programming assignments I completed while taking COS 126 at Princeton during my first year. The course serves as an introduction to computer science and programming, emphasizing interdisciplinary applications.

Course Information

COS 126 introduces the fundamental concepts of programming and computer science. It covers topics such as basic data types, conditionals, loops, arrays, I/O, and introduces object-oriented programming concepts.

Java Assignments

The assignments in this course covered a wide range of introductory programming concepts and applications. Note that some of my implementations topped the rankings on the class leaderboards.

Assignment Description Topics Learned
Text generation using Markov chains
Arrays, random number generation, text processing
Implementation of Hamming code for error correction
Bitwise operations, error detection and correction
Basic image classification using machine learning concepts
2D arrays, basic ML algorithms, image processing
Simulation of a guitar-like instrument
Audio synthesis, user input handling, real-time processing
Generation of the Sierpinski triangle fractal
Recursion, geometric algorithms, graphics programming
Simulation of gravitational interactions between celestial bodies
Physics simulations, numerical integration, vector mathematics
Implementation of algorithms to solve the TSP
Graph algorithms, optimization problems, heuristics

Acknowledgements

This README format was inspired by Ryan Albertson's COS226 repository.