Today's Progress: Completed Week 6 of Harvard's CS50x and completed the assignments required by the course
Thoughts: This was a very useful introduction to Python conceptually, and I learnt a lot about the conceptual uses for this language in app development and I could further extend the applications of my accrued HTML, CSS and Javascript knowledge.
Today's Progress: Completed the learning portion of the HTML Foundations module in my School of Code pre-bootcamp learning tasks. I will start the TOP project tomorrow to complete the section.
Thoughts: This section does appear reasonably straightforward, though I attribute that more to well layed out modules and exercises than my individual ability!
Today's Progress: Started the odin_recipes project creating a set of recipe websites to develop fundamental HTML, Javascript and CSS skills. For this, I created the first index.html file, related asset folders and subsequent recipe sites.
Thoughts: Establishing the basic set up of index.html and linking the new websites was straightforward. It was good practice getting familiar with constructing the elements and links.
Link to work: [odin_recipes]
Today's Progress: Completed Week 7 of Harvard's CS50x and completed the assignments required by the course
Thoughts: This was a very great SQL introduction which I think will be pivotal in establishing my skillset with respect to back-end operations for any future projects I do! I can't say I figured out the answer to the Fiftyville however....
Today's Progress: Completed the CSS Foundations module as part of my School of Code pre-bootcamp learning tasks.
Thoughts: Whilst I understood the fundamentals of the Box Model and how to interact with margins, padding and borders, I struggled slightly when it came requested exercises. I was able to complete them eventually, and it is my hope that I get much more comfortable with these as I toy with it over time.
Today's Progress: Attempted basic CSS formatting by laying out the recipe links in a grid formation
Thoughts: This was a useful exercise as it familiarised myself more with different psuedoclasses and taught me more about using HTML containers more flexibily. I believe I have met the basic requirements for completing the project at this point.
Link to work: [odin_recipes]
Today's Progress: Began working through the modules and exercises as part of the JavaScript basic SoC learning module
Thoughts: Given the previous weeks of CS50 that I have completed, I am relatively comfortable with the ideas and practices discussed in this section. However, debugging is something that I still need to practice and develop my skills in. I see this is in the next section and so I look forward to this section in particular!
Today's Progress: I completed the remaining elements of the Javascript basics module in the SoC course prelearning module.
Thoughts: As expected, I was not familiar with the try...catch... habit so this was definitely useful to learn! I will certainly be going back over this section prior to starting the course!
Today's Progress: To continue my HTML, CSS and Javascript development, I have started the educative.io programme 'Learn HTML, CSS and JavaScript from Scratch' to cement my previous learnings
Thoughts: The interative exercises and problems scattered throughout the programme so far certainly helped me apply the theory that is layed out in the course, and I have covered some further materials such as HTML Tables and Forms.
Link to course: [educative.io]
Today's Progress: I returned to the odin_recipe project to test my comfort applying CSS formatting to the HTML file further. This was primarily done through creating an animated pulsing background and adjusting margins for improved aesthetics.
Thoughts: Building this animated background was certainly the most challenging thing I have done so far in the process, specifically regarding how to make the colour shift more fluid whilst still using a linear gradient and how to stack the background element amongst the other HTML elements on the page using z-levels. It was definitely difficult at times, but it eventually came together!
Link to work: [odin_recipes]
Today's Progress: Began to integrate JS code into my odin_recipe project through implementing an 'Enter' button and having timed animations proceed this event. I also learnt a lot more CSS Inline vs Inline-Block vs Block coding and resultingly adjusted a few elements from
classes to classes.
Thoughts: This was a super interesting exercise in testing both my creativity and logical problem solving which I really enjoyed. I'm really happy with the result and, whilst there is still a lot to improve, I'm happy with the difference in the look and feel of the 'website' from the start of the day to the end.
Link to course: [odin_recipes]
Today's Progress: Reached a logical end point on my odin_recipe project after finishing the formatting on my subsequent recipe page sites, including the use of flex displays to organise the img, ingredients list and recipe steps elements through selective use of containers
Thoughts: Again, I learnt even more about how to actually apply inline vs block styles for elements in this process, and I am very happy with how the site looks in the end. I may come back to try and add further JS animations in an attempt to develop these skills, but I may also take on a new project instead.
Link to course: [odin_recipes]
Today's Progress: Continued working through the educative.io programme 'Learn HTML, CSS and JavaScript from Scratch' where I gained a greater understanding of how to implement Javascript into HTML files - specifically, I practiced interacting with a range of different event listeners.
Thoughts: This has been a really useful exercise of revising what I learnt throughout the SoC learning materials for a few reasons: 1) It covers the same ideas in different words, meaning I could have areas of lesser confidence explained in a different way, 2) It provides small coding challenges and exercises as I go through to make sure the information doesn't remain as theory and 3) covers different elements such as buttons, semantic tags and forms which weren't directly covered in the SoC materials.
Link to course: [educative.io]
Today's Progress: Completed the educative.io programme 'Learn HTML, CSS and JavaScript from Scratch'
Thoughts: This whole course was massively helpful given the additional light shed on how to integrate JavaScript and CSS into an HTML web page, with the accompanying coding exercises and challenges being instrumental in cementing my understanding
Link to course: [educative.io]
Today's Progress: Began work on my first big programming project 'Pour Decisions'
Thoughts: Given my HTML, CSS and Javascript skills will likely develop as I continue through the School of Code bootcamp, I have opted to take on a broader type of project that will have me working with databases and other languages including Python, Java and others. I have not began the specific coding of this project just yet, though I have updated the README file to give context to this project, and I have spent multiple hours rearching the tech stack I will need complete this project
Link to course:: [github]
Today's Progress: To better understand the use of Flask in my upcoming project, I started the educative.io course "Flask: Develop web applications in Python".
Thoughts: Beginning this course has already highlighted a lot of areas that I could stand to learn a lot more about before getting too deep into this project. Specifically,the multiple different protocols through which the client and server may communicate, as well as the different methods used by HTTP (Get, Post, Put and Delete). Whilst the course has already taught me a bunch about client adn server roles, I recognise that I need to supplement by fundamental knowledge about internet protocols before I get too deep into this topic.
Link to course:: [educative.io]
Today's Progress: Began School of Code Bootcamp 18!
Thoughts: Today's key lessons included optimizing learning through breaks, manageable tasks, and rest, alongside practical skills like crafting confident pitches. The course emphasizes teamwork, a growth mindset, and portfolio building through diverse, collaborative projects. The source lecturers that we heard from today were also very motivational, and I am excited to maintain this energy over the next 4 months.
Today's Progress: Began School of Code Bootcamp 18! Week 1 Day 1.
Thoughts: Today's key lessons included optimizing learning through breaks, manageable tasks, and rest, alongside practical skills like crafting confident pitches. The course emphasizes teamwork, a growth mindset, and portfolio building through diverse, collaborative projects. The source lecturers that we heard from today were also very motivational, and I am excited to maintain this energy over the next 4 months.
Today's Progress: School of Code Bootcamp: Week 1 Day 2.
Thoughts: On Day 2 of the School of Code, we received a talk from Ira Rainey, a Senior Developer at Microsoft, who shared his unconventional journey into tech, emphasizing that determination and learning can overcome barriers like imposter syndrome. Ira’s advice to embrace curiosity and ask questions resonated deeply. The day also introduced high-performance routines with four key phases: preparation (intentional morning rituals like gym sessions), focus (working in distraction-free intervals), warm-down (setting boundaries to transition from work to relaxation), and recovery (prioritizing sleep and breaks). These lessons highlighted the importance of consistency, patience, and self-compassion in personal and professional growth.
Today's Progress: School of Code Bootcamp: Week 1 Day 3.
Thoughts: On Day 3 of the School of Code, we had our first experience of pair programming, overcoming initial awkwardness and hesitations about sharing code while collaborating on CSS challenges. Guest speaker Fadumo Aideed, a former graduate, shared insights on continuous learning and problem-solving, recommending tools like Codewars. Diving into GitHub proved challenging, but working collaborating with my team members definitely lightened this load. The day wrapped up with more GitHub practice, reinforcing the importance of stepping out of comfort zones.
Today's Progress: School of Code Bootcamp: Week 1 Day 4.
Thoughts: Day 4 now and we kicked off the first weekly hackathon of this bootcamp. Prior to this though, we kicked off with lessons on giving and receiving feedback, emphasizing the importance of highlighting strengths alongside areas for improvement. We also explored Agile methodology, focusing on its iterative stages—Plan, Design, Develop, Test, Deploy, Review—which foster communication, user-centric development, and bug fixes. The Hackathon began with team brainstorming and collaboration using Git, whilst also applying what we had learnt about Disney Ideation practices, flow diagrams and pseudocode.
Today's Progress: School of Code Bootcamp: Week 1 Day 5.
Thoughts: Today was the final day of our first hackathon, consisting of a final few hours of prep before we prepared our presentation materials ahead of the afternoon's demonstration. Thanks to our clearly laid out plans and rigorous note taking, we easily completed the hackathon within our expected timeline and got fantastic feedback on our presentation. After reaching out for personalised feedback after the meeting, I was told that I might benefit from focusing on a more concise message, though the evaluator was very complimentary and supportive of my work as a whole.
Today's Progress: Created initial planning documents and flow charts outlining my Pour Decisions project.
Thoughts: Using a few techniques I learnt during my first week on the School of Code bootcamp, I have created the high-level flow plan detailing how the user interactions will flow through the final web app that I will be creating. During this process, a Disney ideation stage allowed me to expand on my original vision of what I might hope to accomplish in this project, whilst a subsequent 'Realist' exercise meant I was able to focus in on the most promising ideas I can come up with, and set about establishing a plan to get them done. As a result, my latest plan should now see the app offer three key services: 1. Image scanning and score return, 2. General wine database queries and 3. A personal saved Favourites list.
Link to course:: [github]
Today's Progress: Finalised the MVP 1 chart, opted to address Wine Database pathway first and researched best means of database population.
Thoughts: Taking a step back, the Wine Database service was the obvious starting point for this project as it is the most immediately implementable operation that I can create for a user once the populated database and functioning backend have been created. Given this, I started focusing on how I would be able to scrape all the relevant data from my target scoring sites (Vivino and Spoonacular). I was able to find an Vivino API (https://github.com/aptash/vivino-api), though this has not been updated in the past 4 years. I spent a few hours researching this kind of data scraping methdology and attempted to update the code to reflect new HTML class names, etc so that I could provide an update to this project. However, I realised the degree of adjustment required would validate more work for myself than simply building my own API - an exercise which I would likely learn more from anyway. Therefore, I have decided to no longer pursue this line of action.
Link to course:: [github]
Today's Progress: Pivoted from live API data scraping tool to use of a fixed database, and successfully produced preliminary .db file of 800+ wines with their relevant details.
Thoughts: I faced a roadblock today regarding interactions with Vivino's website. Specifically, whilst attempting to update the out-of-date API yesterday, I submitted too many requests to Vivino.com and my IP address was subsequently banned, preventing any further progress using an API. Whilst this ban is stated to be 'temporary', I am unable to data scrape it’s search function to make this backend database through an automated approach.Consequently, I have gone manually copied and pasted the html files for the pages related to a refined database search on Vivino The specific filters were “wines between £10 - £30 rated above 4.2 stars”, which yielded 801 wines. This should be enough to populate my database, at least for initial purposes. Over the rest of the day, I was able to refine the data scraper python script to successfully isolate and extract almost all of the data points I wanted to into a table, which I have now converted into a db and csv file. I will look to being developing the backend functions using Flask during my next project session
Link to course:: [github]
Today's Progress: School of Code Bootcamp: Week 2 Day 1.
Thoughts: We started our first week of software engineering with a previous bootcamper Scott Nicholson offering his experienced insights, emphasizing the lasting value of their learning and the principle that there are no stupid questions. The team tackled JavaScript problems using a structured, seven-step solution method, reinforcing the importance of planning before execution.
Today's Progress: School of Code Bootcamp: Week 2 Day 2.
Thoughts: We started our first week of software engineering with a previous bootcamper Scott Nicholson offering his experienced insights, emphasizing the lasting value of their learning and the principle that there are no stupid questions. Then followed a thorough review of functions and if/else statements, agreeing on the importance of slowing down to break problems into manageable steps as, on more than one occassion, we found a bug in our code appearing within the first few lines. We also explored JavaScript concepts like data types, functions, and objects, which store reusable key-value data. A quiz-building task reinforced these skills while emphasizing clean code and comments for clarity, and several pair programming exercises allowed us to practice interacting with these data types. My team and I tackled JavaScript problems using a structured, seven-step solution method, reinforcing the importance of planning before execution.
Today's Progress: School of Code Bootcamp: Week 2 Day 3.
Thoughts: We had a talk given by Camilla Brizzi who shared an inspiring messaging with her career journey and advice to “be fearless,” emphasizing the value of courage and networking. As such, I have decided to move my 100 days of code challenge from solely existing on my Github onto my Linkedin! We also drilled down into the multitude of applications and methods of interacting with objects and arrays ahead of our second week hack-a-thon tomorrow. My team and I all shared valuable insights throughout the whole session, as well as staying late to finally nailing down Git flow given this will undoubtably becoming a more crucial tool as we move deeper into the course.
Today's Progress: School of Code Bootcamp: Week 2 Day 4.
Thoughts: Our day began with an enlightening discussion on Myers-Briggs test results, highlighting how personal strengths like creativity, confidence, and communication can benefit teams while recognizing challenges like distraction and overthinking. In the hackathon, Sam’s team used Disney Ideation, flowcharts, and pseudocode to plan their project, culminating in a completed rock-paper-scissors game that incorporated bonus challenges. In this challenge, our team opted to utilise a nested array approach to create payoff matrix, returning the result of a clash when supplied with the computer and user's inputs. We also specifically chose to use alerts and confirm pop ups as much as possible to mitigate the opportunity for invalid user inputs where possible.
Today's Progress: School of Code Bootcamp: Week 2 Day 5.
Thoughts: Today's work on the hackathon allowed me to develop in a number of ways. Firstly, on a technical front, the work with the project lead me to learn more about asynchronous functions which I know will become an increasingly useful tool whilst our hackathon projects get progressively more difficult. It also directed me towards soft skill growth opportunities, such as regularly ensuring others understand my approach and process before actioning so that all remained cogent. On top of this, I believe I can still benefit from being more concise in my presentation skills, which can be seen in the fact that our group went slightly overtime in our presentation slot. I will endeavour to improve at this.
Today's Progress: Began building out the backend of my Pour Decisions app.
Thoughts: Today was fundamentally a research day for me, as my basic knowledge of flask or backend architecture is very basic, so much of the day was spent researching Flask and confirming it was the best framework for me to use in this case. Having confirmed this to be the case, I found an incredibly useful resource (https://www.tutorialspoint.com/flask/flask_tutorial.pdf) which guided me through the installation and initialisation of Flask, which lead me to create a first "Hello World" local domain using Flask and VS code. I will seek to tie this in more tomorrow, but these first steps and the level of understanding I have gained is very encouraging!
Link to course:: [github]
Today's Progress: Completed the weekend preparation ahead of SoC's Front End Developer focused week.
Thoughts: Today I spent most of the time explored how to manipulate the DOM. The coordination of elements through the Flexbox module of CSS is clearly an area that I can stand to become more comfortable in, and will require more attention when it comes to implementing in my own project. At the very least, today's work was a great introduction to navigating this toolset.
Today's Progress: School of Code Bootcamp: Week 3 Day 1.
Thoughts: To kick off the day, we had a two great guest speakers in @Nadeem Shabir and @Malcolm Landon where they shone light on the extensive tech stacks at work around @Technology From Sage and the business work flows that they champion within their teams. I really appreciate the level of detail and insight that they offered throughout their talk, particularly in areas of project management using Jira, and the test writing procedures expected of professional software developers. Following this, we began out first exercises interacting with the DOM where we learnt to use Javascript to isolate specific nodes and related elements, and had our first taste of flexibly customising their attributes. Finally, I had my first meeting with my mentor @Tomasz Ginszt whom is already proving to be an invaluable resource for my journey!