Introduction
CS-340 is all about MongoDB. The course starts with a soft comparison between SQL and no-SQL databases and their history and eventually focuses on MongoDB for the remainder of the term.
CS-340 related posts
- Solution for “TypeError: ‘Collection’ object is not callable” when using the insert command in Pymongo
- MongoDB queries and aggregation pipeline for companies.json
- Common MongoDB Questions for Beginners
CS-340 reading resources
The reading resources for CS-340 are the book Mastering MongoDB 4.x : Expert Techniques to Run High-volume and Fault-tolerant Database Solutions Using MongoDB, and other sources from the Shapiro Library and from across the web.
Each week students are required to read between one to two chapters from Mastering MongoDB.
CS-340 learning tools
CS-340 uses Jypter Notebooks, Pymongo, Python, MongoDB, JavaScript, and the Mongo shell.
Most of the coding assignments take place in Jypter Notebooks using Python and Pymongo and in the Mongo shell using MongoDB and JavaScript.
It is easy to get MongoDB commands confused with Pymongo methods resulting in a TypError as noted in one of my posts: https://brogramo.com/solution-for-typeerror-collection-object-is-not-callable-when-using-the-insert-command-in-pymongo/. Eventually, I learned to distinguish between Pymongo methods and MongoDB commands by referencing their respective manuals.
CS-340 topics
Week two starts with an introduction to Create, Read, Update, Delete (CRUD) operations, and students begin developing their CRUD class for MongoDB.
Over the course of two weeks, students will have a fully functional CRUD class and will begin integrating it with other projects to perform CRUD operations.
The Python CRUD class will incorporate MongoDB authentication and will follow industry standards in terms of modularity and documentation.
Besides user authentication, the course does not focus too much on security.
The CRUD class was easy to develop, and authentication in MongoDB is not as hard as it may sound.
Figure 1
CS-340 weekly assignments
What I liked about CS-305
I liked how easy it was to use MongoDB compared to my experience using MySQL for WordPress.
Once I understood the basics, everything else was easier to learn. I reused a lot of my work from previous modules in future modules, such as the CRUD class, authentication, and screenshots of code executions for repeated prompts throughout the course.
What I disliked about CS-305
There was hardly anything that I disliked about CS-340; the course was an overall good exposure to MongoDB.
Learning the MongoDB aggregation pipeline was a little challenging, but reading through online tutorials and referencing the MongoDB manual helped a lot.
Although not directly related to the course, I did not like using Apporto to complete my assignments. Instead, I set up the MongoDB shell and Jypter Notebooks on my personal computer to complete my assignments and tested them on Apporto to ensure everything worked correctly for the instructor to grade my submissions.
Final thoughts
CS-305 was easy and engaging. By taking the time to read through the Pymongo and MongoDB documentation, I was able to finish with an A.
Figure 2
CS-340 final grade