It’s the start of a new week! Actually, today’s Tuesday…I forgot to update last night 😐
However! After this past weekend, I feel energized, revitalized, and ready to go! We moved on to mySQL yesterday which is how we are going to be doing databases. I downloaded mySQL Workbench which is a GUI to help visualize how to structure your database. I like it because it’s got a visual aspect that’s a little different than coding. Here’s a picture of what a simple database can look like:
That pretty much sums up yesterday. There weren’t a bunch of assignments. Most of it was just readings and exercises to understand SQL. I finished up the lesson around 2pm and spent the remainder of my time finishing up two previous assignments from Flask.
Sidenote: Post class today having a much needed Bros night! Really looking forward to that!
Today was an EARLY one. I was the first one there again. I think I’m starting to like the calm right before everyone arrives. It’s pretty similar to when I was teaching. Loved getting to school an hour before sectionals to work done. I am hoping to adopt the same habits with coding!
Before it was time for algorithms, I was able to complete half of the Python Fundamentals in the learning platform. Our algorithm this morning was interesting. The goal was, given an array and a min and max value, find all values between min and max and move them to the front of the array while removing the values outside of the min and max. Seems simple enough! A good .pop or ought to take care of those values we want to remove. EXCEPT, we weren’t allowed to use an built in array methods…
Without giving away the answer, my partner and I spent about 35 minutes working through it. The aspect I love most about solving algorithms is it’s good practice at problem solving. In fact, I approach algorithms very similar to how I approach teaching.
Break down what the problem is asking. Don’t try to do too much all at once. Break it down to smaller parts.
Create a road map to the solution; also known as visualizing. Don’t work out any details in this step. It is meant to be very general and broad but it helps to set you in the right direction.
Time to code. If you have no idea where to begin, start with what you know. Just get SOMETHING down on paper…er…computer. (Actually, when working through algorithms, we aren’t allowed to use computers. We are discouraged from googling and testing code in the console. Instead, we do all of our work on the whiteboard with a dry erase marker.)
If you get stuck (more like WHEN you get stuck) don’t give up or get frustrated. Make a comment and move on. Leave it and come back. This was the hardest step for me to follow. I am very accustomed to making sure all of the pieces are in place before moving on to the next thing. Unfortunately, when coding, I wouldn’t get very far if I did that all of the time.
Once you have written all of the code, it is time to test your algorithm and find any breaks or crashes in the code. If you find a break, start at step 1 and break it down.
You could take the steps I have listed above and literally apply them to ANY situation or problem you might encounter in life.
I LOVE this about coding. It forces you to be a problem solver.
After algorithms, we had another short lecture this morning. Before the lecture, however, our instructor gives us an opportunity to ask any questions about homework assignments from the previous day. I always feel like I’m hogging all of the questions during this time…but I feel like if our instructor gives you an opportunity to pick his brain, you should take it! We continued with the lecture and we were introduced to Python functions and dictionaries. Functions in any coding language is a group of code then can accept parameters but it isn’t required. Functions also provide a means of reusing code without having to rewrite or copy code. Helps to keep your code “DRY”. Dictionaries are used to store information based off key-value pairs. When you wish to get some info, just call on it’s key to obtain the value.
The rest of the day was spent working on assignments until about 2:30pm. After that, we had a short group activity over dictionaries. When working in a group, we utilize “popcorn coding”. It involves only one computer and we all write a few lines of code and then switch out to the next person. This method of coding ensures that everyone has something to contribute to the final product. It also provides opportunities to learn from your peers if someone gets stuck or codes something incorrectly. I think it’s a great tool.
After the group activity I spent the last part of the afternoon finishing up my assignments for the day. Planning on staying ahead and reading the next module over Object Oriented Programming with Python!
Wow. This was kind of a long post and it probably wasn’t very interesting to read. I am still trying to figure out a balance between just throwing all my thoughts/experience in here versus creating an entertaining read for anyone subscribed. Let me know if you have any suggestions! I would love to hear from y’all!
Today was HUGE. We started our first full stack, Python. Just some quick info about Python:
It’s an interpreted language, which means it doesn’t need to be compiled
Python is frequently used in data science and machine learning
There are A LOT of built in method and functions to use with Python
Before starting with Python, we received our scores for the second Web Fundamentals belt exam. I surprisingly did better than I thought. 9.9 out of 10. Still aiming for that elusive 10 out of 10…
After getting our exam scores, it was time for the daily morning algorithm. This one involved a given array and value, with which we needed to move the value to the first index of the array. Simple enough? The catch was we were NOT allowed to use any built in methods like .push() or .shift() and .unshift(). This made things a little more tricky. I developed a solution but couldn’t figure out how to write the code for it. After about an hour, we presented different group solutions. After seeing the first solution, I realized that I still struggle with overthinking the problem and finding the most complex way to solve these algorithms. The first group simply created a new array and immediately added the given value as the first index. From there it was as simple as just iterating over the given array and moving those values over to the new array. Simple, right?! Haha.
I had some memory issues with my GitBash. It would keep giving an IO Error anytime I ran a large loop. I asked one of the instructors for help and he couldn’t quite figure it out either. I decided to use both the Command Prompt and Windows PowerShell. Fortunately, PowerShell uses the same command-line interface commands as a Mac or Linux system.
The next few hours were spent working on assignments that involved variables and conditionals to get us used to working with the Python syntax. I left the Dojo a little later than usual today. I spent a good 12 hours there today! My goal is to increase my weekly hour total to 70-75+ hours per week. I’m averaging 60-65 hours right now…
Tomorrow is more Python functions, dictionaries, and tuples!
Officially finished up week one of the bootcamp yesterday. It’s crazy to think how far we all have come since the first day. Just a few weeks ago, I never thought that I would be able to recreate the design and layout of a real professional website. Now here I am being tested on that skill with only 5 hours to complete the exam!
The saying is true, “Practice makes permanent” and I had a BUNCH of opportunities to practice this week. Side note: another great saying I found this weekend, “The way you do anything is the way you do everything.” I think that saying is so powerful. I really am trying my best to be as dedicated and committed to coding as I am with music and teaching. I feel like if I can at least match that intensity while learning and coding, I’ll MAYBE be okay.
I arrived at the Dojo early Friday morning. I wanted to finish up a previous CSS assignment from Thursday. I remember working on it for hours and feeling lost, frustrated, and depleted. Anytime I would change one property, it would warp my entire CSS layout. Thursday was not a good day. Friday morning, HOWEVER, was much better.
I felt relaxed and more clear minded after a night off from coding. It was wonderful. Sometimes it really does help to step away from a problem for a little bit especially if you are stuck. Friday morning, I was breezing through all of the parts I struggled with on Thursday. I didn’t suddenly become a better coder overnight. I was just working with greater focus and with a clearer mind. That was a very important lesson for me.
Anyway, I took the HTML/CSS Belt Exam on Friday. I started just a little after 9 a.m. I feel as if I did well. It took me about 2.5 hours to complete and I spent about half an hour just going over details and making sure the upload worked. Speaking of upload, some of my cohort members learned an important lesson about frequent saves and uploads that morning…That’s all I’ll say about that.
P.S. SUPER excited about sushi tonight for my girlfriend’s birthday! 🙂