Bobby Carangelo
Hi, my name is Bobby Carangelo, I study Computer Engineering at Dartmouth College, and I am an aspiring Software Engineer in the Financial Markets industry. I can be reached at [email protected], and my resume can be found in this repository.
Projects
Below is a chronological overview of the major projects that I am most proud of and have learned the most from.
Tiny Search Engine
- Designed and implemented a web crawler, indexer, and querier modules with C programming that work together in a UNIX environment to search internet pages for the most relevant words to a userβs search request
- Class project in group of 3
- Key Takeaways
- Working in a group environment to build a maintainable system
- Using git
- Unit testing
- C fundamentals
Order Matching Engine
- Designing and implementing an order book with C++ programming that compiles market and limit trade orders and executes trades when appropriate
- Personal solo project
- Key Takeaways
- Fundamentals of market micro structure
- C++ data structures and related design tradeoffs
Microprocessor Traffic Control System
- Class solo project
- Key Takeaways
- Writing code for a microprocessor that controls hardware
- Writing clean code, hiding implementations behind interfaces
- Asynchronous programming
Snake IO Game
- Enhanced version of traditional snake game built in Java. Gameplay involves automated bot snakes, a field of view adjusting by size and position of snake, and multiplayer network competition.
- Personal solo project
- Key Takeaways
- Applying concepts learned in Microprocessor class to an object oriented application
- Java fundamentals
- Building a front end application using spring
- IntelliJ
NP chat protocol
Mini Reliable Transport
- Reliable transport layer protocol that builds a reliable transport between a client and server. Uses C programming and is built on top of UDP.
- Class solo project
- Key takeaways
- Using multithreading to offload server tasks
- Go-back-n acknowledgment algorithm
- Network Protocols
Bit Vote
- Decentralized, blockchain based voting system, built in C that ensures security. Peer to peer network in which nodes mine voting blocks, broadcasts votes to peers and deals with branching.
- Class project with partner
- Key takeaways
- Using multithreading and socket programming to build a decentralized peer to peer network
- Blockchain data structure
- Writing clean code in a group setting
- Unit and integration testing