Study, Day 9

French The app! the cursed app! Just did the bare minimum today. Programming Practice Didn’t waste tooooo much time today :) Manged to figure out what was actually asked for in Python terms and wrote it down as instructions in the file. working at slowly converting them to code now. All the fussing I did over fonts and setting things up yesterday paid off. The editor has receded to tho background and I can just work. I made progress with the program today. only a tiny bit left. Python Jumpstart by Building 10 Applications The fourth app kicked my butt. got it working, but it was really hard going. done for this week. will attempt next week

August 7, 2019 · Mario Jason Braganza

Study, Day 8

French The app is now buggy, since the last update and crashes on me all the time. Am at it though. Python Practice This is stupid. I spent an hour just setting up my environment all over again. This should teach me to do at least a little bit every day. 1 hour of setup 1 hour of tremendous headscratching No practical reasults. Tomorrow hopefully is a better day. The only positive thing is I feel, my mind has begun to crank again. Python Jumpstart by Building 10 Applications Started watching the videos. Built three tiny apps in rapid succession. Getting my python mojo back. Run out of steam after 3 hours. Ending on a high note, though. will pick up the pieces tomorrow.

August 6, 2019 · Mario Jason Braganza

Study, Day 7

Was on a roll. Went and finished the whole geography textbook. My brains are smoking now. Next step, spaced repetition exercises of all the chapters for two months. MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python Did quite a bit of the course’s exercises. I realise now that I should have just downloaded the course from the Open Courseware site and worked on it at my own pace. The MOOC is excellent, but not for me. I keep missing all sorts of deadlines. My life and the MOOC sadly do not get along. ...

July 27, 2019 · Mario Jason Braganza

Study, Day 6

Did a little bit of french and geography. MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python Doing compsci but no notes today, because i am busy learning. Am going to have to revisit oop sometime again. will make notes then But to summarise, i learnt oop i learnt about generators, which to me sounds like a tap on a loop. instead of a bucket of water, i get it by the mug. here’s a mug. here’s another mug. here’s another mug. enough? then i can turn the spigot off no need to fill the whole bucket (run through a whole dictionary, or carry out a huge operation) when I can just take however much I need. i learnt about o notation to figure out how long code takes to run, if want to later optimise stuff sorting lists with sorting algorithms bubble sort selection sort merge sort efficient i learnt how to plot using python Have finished all the videos and will now move on to the problem sets. I had so much fun, I actually was sad to watch Prof Grimson’s last video. The course has given me a really good grounding on the basics. And should help me start my journey. While I understood the what, MIT 6.00.1x gave me a good grounding on the how and the why. ...

July 25, 2019 · Mario Jason Braganza

Study, Day 5

Did some geography for 12th in the morn. Slow, steady, iterative progress there. MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python exceptions & assertions Exceptions What happens when program execution comes across something that it did not expect? like you could go beyond the bounds of a list i try to reference a variable that isn’t there i mix data types. (i dun dis :P 'a'/9) This is basically Python telling me, ‘I don’t get this! Whatcha talkin’ bout Willis?’ Python has a whole host of errors, the names of kinda give me clues to what it thinks the problem is. There are SyntaxError (I boo booed typing somewhere, Python does not ‘get’ me) NameError (Can’t find a variable. Did I put it in? Did I call a module correctly?) AttributeError (Errors with classes. Am I calling them wrong?) TypeError (Am I doing string operations on numbers? Or vice versa?) ValueError (Something is wrong with my results. Is it in a form the program understands?) IOError (something that happens when i make boo boos with files) What do I do with exceptions? Fail silently (like fart silently and then look about innocently) bad idea, though, really bad idea :) Return a “error” value make sure that you have code that can check for and handle the values you choose makes code a little clunkier Just stop execution, and signal an error condition in Python that’s called raising an exception like so, raise Exception("Good God! You’re dividing letters with numbers?!") Dealing with Exceptions. How do I handle them? Use the try & except keywords. As in you’re telling Python, ‘try’ this code. If everything works well, great! But if there’s an error, jump to the ‘except’ clause, and execute what is in there And then carry on with the rest of the program I can then get fancy. I can have multiple except clauses. one to handle typos one to see if my input is valid one to handle division isssue and a final one as a catch all, if all else fails. There is also an else that i can pair with a try the else will execute code if try block it is associated works, with out any exceptions. like ok, try this. all worked? then go that else block and do that thing and then carry on with the rest of the program to my mind it kind of is the main program, because this is the part that always executes. so as I iterate, i keep removing things from try and move them down to the mandatory else clause And then there is finally executed after try, except and else even if they raise errors or cause a break useful for cleaning up after a mess :P (close a file for e.g.) like ok, here’s a booboo, but I better put everything back in it’s place and undo stuff if I can like do no harm. Exceptions as control flow turn the idea of exceptions on its head instead of waiting for errors and catching them and then raising exceptions we could check ourselves for expected values and raise our own exceptions if results don’t match expectations :) like if i am unable to produce a result that is consistent with the specifications of a function to do that we use raise we raise exceptions like raise iAmDisappointedinYouError("You should have written this better") or more likely you want to raise an existing known error like raise TypeError("You need to enter a number! For the love of God, enter a number!") Assertions We can take the idea of proactive exception raising, to another level. We can defensively program so that we prevent situations that lead to unexpected results. This idea is what we call an Assertion ...

July 24, 2019 · Mario Jason Braganza

Study, Day 4

Back at it after a short personal break. Lots of stuff to catch up on! MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python Learning about lists. They are iterable, i can run through its elements one by one and do stuff mutable, i can change things inside them append, will append stuff to the end extend, will take another iterable (another list, for example) and then take those elements one by one, and tack them on the the end of this one i can go back and forth, between lists and strings, converting one to the other and vice versa ...

July 12, 2019 · Mario Jason Braganza