Metu-CENG
Metu-CENG copied to clipboard
All the homeworks, studies and projects I've done at Metu-CENG
Metu-CENG 2016-2020
Clone with submodules (since some courses have their own repositories I've bound them as submodules of this root repository):
git clone --recursive [email protected]:ysyesilyurt/Metu-CENG.git
Alternatively, if you didn't use --recursive
option while cloning, you can use:
cd Metu-CENG
git submodule init
git submodule update
CENG 111 Introduction to Computer Engineering
Some intro to ceng/cs stuff written in python
CENG 140 C Programming
Every assignment given in the course
CENG 213 Data Structures
Implementations of several data structures with various scenarios, written in C++
CENG 222 Statistical Methods of Computer Engineering
CENG 223 Discrete Computational Structures
CENG 232 Logic Design
Some verilog stuff
CENG 242 Programming Language Concepts
Many tasks done using prolog, haskell, and C++ to understand concepts in different programming languages.
CENG 280 Formal Languages and Abstract Machines
CENG 315 Algorithms
Contains a solution for an advanced graph algorithm, implemented using C++
CENG 331 Computer Organization
Bomb Lab
A task which aims to make people familiar with reverse engineering
Attack Lab
A task which aims to teach people how to smash the stack for fun & profit
Architecture Lab
A task which aims to foster the fundamental concepts reside behind the y86-64 architecture
Performance Lab
A task which aims to teach optimization methodoligies for x86(64) architecture
CENG 334 Introduction to Operating Systems
MapReduce
A C implementation for Map Reduce programming model which aims to practice IPC
and general tools that is used for it.
MiningSimulation
A mining simulation implementation which aims to practice threading
and synchronization tools (like monitor
, CV
, mutex
and semaphore
) in linux.
Filecopy
A filecopy implementation which aims to practice EXT2
filesystem structure with copying a source file into a target folder without mounting the disk.
CENG 336 Introduction to Embedded Systems Development
PIC-IO
A simple led task which aims to practice fundamental I/O functionalities of ports
in PIC with buttons/leds, written in assembly.
SpaceImpact
An Implementation for space impact game which aims to practice Interrupt
and Timer
functionalities of PIC, written in assembly.
ElectroVote
A simple voting simulation which aims to practice Interrupt
, Timer
and ADC
module functionalities of PIC, written in C. In this task, LCD
has also been used, an implementation for its driver has been provided.
RTOS
A maze-runner-robot simulation/RTOS project which aims to practice necessities of Real-Time tasks, written in C with PicOS18 Kernel. Alarm
, Multitasking
and Event
functionalities of RTOS has been utilized.
CENG 350 Software Engineering
SRS
SDD
CENG 351 Data Management and File Structures
Hw1
An assignment for achieving familiarity with SQL through programming languages, implementation done using Java.
Hw2
A B+Tree implementation as homework, done using Java.
CENG 352 Database Management Systems
Mini Projects
Contains implementations for 3 Mini Projects assigned during the course based on PostgreSQL Databases
. Mainly about complex SQL queries
, Indexes
, Triggers
and Transaction
stuff done using psycopg.
Written
Contains written solutions for 3 Written Homeworks assigned during the course. Keywords: SQL queries
, BCNF/Normalization
, Functional Dependency
, Assertion/Trigger
, Indexing
, Query Processing
, Query Optimization
, Transaction
, Scheduler
, Aries/Recovery
.
CENG 384 Signals and Systems for Computer Engineers
IE 407 Fundamentals of Operational Research
Contains an Integer Programming Operational Research case and its solution in OpenSolver with a report.
CENG 435 Data Communications and Networking
Term Project Phase1
A multihomed network topology with various nodes are implemented with UDP and TCP socket applications and some experiments with netem/tc
done on it. Implementation done in python. Phase1 report and its README can be viewed for further details.
Term Project Phase2
Same network topology extended and some experiments with netem/tc
done on it.
Specifically, a unique multihomed and pipelined Reliable Data Transfer Protocol (RDT) has been implemented on the topology with python. Phase2 report and its README can be viewed for further details.
Wireshark Assignments
CENG 443 Object Oriented Programming Languages and Systems
Contains implementations for several assignments in Java to comprehend OOP principles as well as many cool stuff in Java such as Java-8 Streams and Lambdas.
CENG 445 Software Engineering with Scripting Languages
LogWatcher
Log Filtering tool which watches sources and filters them by user-given rules. Check 445-with-phases for separate phases of the project.
CENG 453 Software Construction
CoronaKiller
A complex (!), online and multiplayer 2D virus shooting game which lets you find your way up to the harsh levels and finally defeat the CoronaVirus King 🦠. A Containerized Spring Boot
on the backend and a JavaFX
application that is managed within another Spring Boot
application context on the frontend has been implemented. Visit submodule for some detailed visuals, documentation, testing etc.
CENG 477 Introduction to Computer Graphics
Contains implementations for Ray Tracing and FRP rendering algorithms; also an interactive fly-through rendering implementation is done using OpenGL and programmable shaders in C++ and GLSL.
CENG 489 Introduction to Computer Security
Smashing-RSA
An attack to break (i.e. smash) RSA using different techniques such as common modulus attack
and power analysis
by ptrace
virus.py
A notorious virus to hack
covidiots to stop them spreading Covid-19.
Privilege Escalation
An attack to exploit a program running in the remote machine and escalate to root a shell?! 😈. Keywords: privilege escalation
, setuid
, root access
, stack-overflow
CENG 49x Computer Engineering Design
VipAssistant
My senior year project repositories that is migrated from GitLab. Visit here for further information about VipAssistant© :blush: