Thursday 9 December 2021

Thoughts on OSD600 course from my perspective

Introduction 

Throughout my three month plus journey, I have fought, I have struggled and I have conquered Git and Github workflow in projects related our individual SSG project, large open source projects like Microsoft Quantum and Manim, internal projects like Telescope and IPC144 and smaller projects like Cchess.  I no longer have fear of using source control as compared to at the start of the term. At present, I can contribute to any open source project without the need to worry if I make can proper, clean commits.  This is a unique course in Ontario where students have the opportunity to work on any open source projects around the world, in any programming language, in any written language and without major restrictions that hold you back from accomplishing and achieving our potential.

Some of the highlights of this course include coding in multiple languages, having touched many aspects of code as well as collaborated with students going through the course.  I believe Online learning for this course is unique and being asynchronous format helps students who are busy with family, Covid-19 struggles, part time work to really manage our time and learn at our own pace.  It is true the effort you put in this course is what you get out of it in the end.  It was also interesting to read other fellow student's blog posts as well as the communication in Slack, although not visible at times is a place where we can help each other.  The collaborative nature of this course is what inspired me to continue my diploma at Seneca.

Advice for Future OSD600 students

If you want to do well in the course, I suggest to start early and learn to find open source projects you are interested in.  There is no one to tell you what you can do but you have to find the issues yourself, which can be the greatest strength and weakness depending on your motivation.  I find if you try your best, it really shows in your commits and the care you put into your work.  Dave is not asking you to do everything perfectly, but he is asking you to improve little by little throughout the weeks.  The course is designed so that your skills can be honed in many areas.  I particularly enjoyed the week on rebasing and merging commits because it shows how powerful Git really is, because with great power comes great responsibility.   Where most students struggle at first is using Git and doing things properly.  For instance, Dave teaches NOT git add .  , because you shouldn't add everything and you need to be specific and not lazy.  If you make mistakes its alright, but do learn from it.  Being successful in OSD600 comes down to planning your weeks and starting ahead of time.  I know students tend to wait till the end because deadlines are not hard but you should not get into the habit of completing labs in the last minute.  Its the same as on the job and in life.

Conclusion

I definitely recommend this course to anyone willing to become a better programmer.  It is definitely one of the highlights of my Seneca student career.  What you learn here is invaluable to anyone moving to full time employment in the future, because it builds your exposure and Github profile.  Employers take notice of the work students contribute and commit in this course, and if anything do it to learn Git.   Reading how to do it and watching Youtube videos is not going automatically give you the skills you need to know Git and Github, you need to practice it constantly in the course.  Dave is always here to guide you if your stuck and its the only way you can learn and overcome it by asking questions.  Thank you for reading.

Merry Christmas and Happy New Year
Eugene Chung

Wednesday 8 December 2021

Release 0.4 #3 - Release

Introduction

This is the last blog to my release 0.4 for OSD600. I was not overly ambitious as my previous releases in order to set myself to succeed.  This post will be on what I have completed and what I tried doing.

Implementation

 For my main issues for AOC repository, I completed days one to five as expected and also day seven is done but I did not push my code yet.  I will do so at the end of the week to give others a chance to come up with the solution.  What gave me most trouble was day six, because if you do not setup the program correctly in order to do exponential growth of input, you will run out of memory.  I thought of using hash tables to instead allocating blocks of memory to over come this problem, but have yet to written it properly in python.  Days three and four took the longest time because i had to review my data science knowledge.

The following is my progression up to day seven to represent the week of work I did.

 

As mentioned in my previous posts, I finished the changes for my translation as per request by reviewer.

The following is the running website image of my pull request for the prompts-ai repository.

 

 Unfortunately I did not dive far enough in the Telescope issues and they are not completed for release 0.4.  I will look into working more with open source projects in the future as the new year begins soon.  Things that I would have done differently is look at more issues on Github to get a better grasp of the things ahead as I did not know I will be continuously looking for issues during the course of this semester.


God Bless,

Eugene Chung

What I learned from Project 1 of Udacity's Data Science with Python bootcamp

Introduction As part of the project I completed successfully, I used SQL to explore a database related to movie rentals. SQL queries was ran...