Principles of Engineering, Science, and Mathematics – Relevant Courses
Many courses touched on the importance of ethical considerations in engineering. For example, both 18-100 and 18-500 had slides dedicated to the societal/economic/environmental impact of engineering.
Modularity is also emphasized in many ECE and CS courses. Project-heavy courses such as 18-341, 18-349, 15-445, 17-214 especially focused on this, since modularity makes a large project more testable and maintainable.
Personal Accomplishment
For the first half of the week, I focused on researching microcontrollers and databases.
In the end, my teammates and I decided to use a Raspberry Pi for speech recognition because it can interface with sensors and microphones and has CPU and memory powerful enough to drive a speech recognition algorithm. I also found some sample projects that use a Raspberry Pi for signal processing:
- Audio Processing with The QuadMic 4-Microphone Array on the Raspberry Pi
- Running Python Program on Raspberry Pi
I focused my database research on comparing Amazon DynamoDB and Redis:
DynamoDB | Redis (Remote Dictionary Server) | |
General | Commercial system (pay) | Open-source, can be used for commercial purposes |
Storage Model | Key-value
Document model |
Key-value
Secondary database models: document store, graph DBMS, and spatial DBMS |
Partitioning | Sharding | Sharding |
Performance | 20+ million requests/sec
R&W fast regardless of table size |
In-memory database (requires large amount of memory to run quickly)
Optimized for complicated data structures |
Durability & Availability | 3 separate zones
Data still available even if one zone goes offline |
Open-source version not very durable (diskless DB) |
Security | Encryption | No encryption |
Use Cases | Applications that require high-speed data writing and reading | Session cache, chat, messaging, and queues
Geospatial data, live streams, and real-time analytics |
Pricing | On-demand mode: based on number of accesses | Free, open-source |
For now, we are planning on using DynamoDB because our project requires fast insertions and deletions but not complex data structures. The final decision will, of course, also depend on whether we’re able to get AWS credit through this course.
For the second half of the week, I worked on preparing for the design review presentation.
About Schedule
I am on track with our schedule. In fact, we were able to get a Raspberry Pi 4 and start playing with it ahead of time.
Plans for Next Week
I will be presenting our design in class.
In addition, I will discuss the potential of getting AWS credits with the instructors and start familiarizing myself with DynamoDB’s APIs.
Once we review design review feedback, my teammate and I will also place orders for the hardware components.