Home / Tufts / Courses / Networks

Networks

Networks is a graduate level elective that I took at Tufts, and it must've been one of the hardest courses I took during undergrad. The course covered many networking topics including reliability, congestion, flow control, routing, addressing, naming, wireless communication, and new internet architectures like content centric networking. The course was largely discussion based around the performance and engineering tradeoffs of various network implementations and decisions, and the second half of the course involved reading and discussing several seminal research papers on network coding, DDoS, TPC inside data centers, and speculative future internet architectures.

Outside of class, we worked on 3 programming assignments in C and a final project of our choice. The assignments were all based on socket programming and had us building a web cache, a chatroom, and a file sharing server (implementing our own reliability, sliding window).

For our final project, my partner and I built Requestify, a chatroom and music streaming application where users can create or join rooms, chat with each other, and change the room's current "vibe". Songs are pulled from SoundCloud based on the room's vibe to populate a playlist which is played simultaneously for everyone in that room. The project taught me tons more about networking challenges, primarily the challenge of data streaming and synchronization. We also wrote the project in Python, so we got to see how socket programming works in a language other than C.

On top of all that, the exams were really quite hard!

Networks was taught by the very smart Fahad Dogar and you can find the course description here.


signpost care to venture further?

Courses

Database Systems

Distributed Systems

Intro to Security

Networks

arrow_upward Back to top