Last night, I watched a cool documentary on algorithms, The Secret Rules of Modern Life: Algorithms. It’s available on Netflix. If you’re a new student to computer science, you’ll definitely want to watch this documentary. Marcus du Sautoy introduces, explores, and explains algorithms in everyday language. It’s best to watch this documentary before forcing yourself to study CLRS’ Algorithms–an inevitable text for anyone considering to become a computer scientist.
If you don’t have Netflix, it’s also on YouTube: https://www.youtube.com/watch?v=Q9HjeFD62Uk
Did I learn anything? Yeah. Honestly, you could treat this documentary like an introductory textbook. Which is what I will be doing. Like right now, I can tell you that the most important contribution this documentary will make to your computer science education is to compare and contrast bubble sort, merge sort, heap sort, pigeonhole sort, and why we’re still searching for an algorithm to the traveling salesman problem.
Another cool thing about this documentary is meeting all the world renowned computer scientists through interviews. I think the next time I watch it, maybe sometime this coming week, I’d like to make a list of all the people interviewed. Then, I would look up each scientist on Amazon to see what books they’ve written.
In my next post, I am going to write about resumes for computer science. I follow a Facebook Group called HH Resumes, where students and pros share their resumes to be critiqued, and I have noticed that a lot of us really don’t know how to write a resume. I’m not going to write a DOs & Donts post, what I am thinking of creating is a post with all the resources that can help us learn to write better resumes.
Thanks for reading, hit that LIKE button, hit that FOLLOW button, and don’t’ be shy to leave a comment. Take care.
So, check it out. When you’re writing programs there’s a lot of prompt messages. It’s repetitive. So, what I did today is think ahead, figure out all the prompts I am going to ask the user in the program. Then, with my list at hand, I keep them inside individual String variables. For example, I wrote a small program that asks the user to enter the name of a season, the prompt itself is contained in a String variable called “message.” Then, I contained the translation of each season inside distinct variables, like fall = “El otono.” I did this sort of pseudo-modular organizing of my code and I found it all to be more organized. I feel more comfortable with this workflow because I don’t have to bother with concatenating long messages. Instead, just write out the message and then plug it into System.out.println(plugThatVariableIn);
If you’re curious, here, take a look.
If you’re an advanced programmer, in a comment could you tell me whether or not this is going to lead to good coding habits? Thanks.
As this blog has documented, for most of my summer I’ve been coding in Java. From week to week, I’ve been experiencing the progress of my practice. Tonight, I noticed that I now prefer using inline curly braces rather than place them by themselves on a new line. For me, the decision came down to style. I like my code to be compact and clean. At the same time, another reason I like the inline curlies is that I don’t hate them anymore. What I mean by that is when I create a new Class with Eclipse, I actually went through the trouble of selecting the first curly brace provided by the IDE and then pushing it over on to the next line. So yes, every time I wrote out a sample code, and then for every repetition of my Ten-Times routine, I knocked the curly brace over. But now, I like the curly brace where it is.
What can I say, I guess I’m leveling up.
Sometime around 6:30 p.m. I got back my Discrete Math exam; 92. It’s a frustrating 92 because I was asked to prove or disprove why an equation was not an onto function, and I did all the proof for disproving it, but in my final answer I forgot to write “not onto.” The professor kindly took off seven points. In an another question, I lost 1 point for forgetting to break down a prime factorization pyramid one extra level; minus one is a blessing. Now, if I get a perfect score on the final, I secure an A. But, knowing my luck, I’m going to get something in the 90s and get an A-.
For now, we’ll see, I have two weeks to prepare and after taking these two exams I have a great understanding of how this professor likes to make her tests. Should be an exciting end to an accelerated summer course.
Sometime around 1:30 p.m. On YouTube, GQ made this video where Aziz Ansari shows us What’s In My Bag. He had a bunch of books, headphones, and stuff just like a normal person. But, during the video, he said something that blew my mind. “I only use the internet for thirty minutes each day.” That’s brilliant! I already ostracized myself from every social network except for LinkedIn (I’m exploring internships) and Facebook (I use the popular ‘Log-in with Facebook’ button a million times a day, so I can’t kill that account), so hearing Aziz practices plugging to the internet for exactly thirty minutes a day really made me dream of what that would mean for me. I really don’t enjoy being on the internet. I’m always consuming things. I’m watching YouTube videos that I don’t need to watch but just watching because I need something to do to kill time. I’m visiting the same websites–DealNews.com to see if there’s something cool I can buy; ESPN to see if my team did something crazy since five minutes ago; Primewire, to see if there’s a new upload that I should watch–and I really hate myself hours later when I feel like I did NOTHING but consume. With that said, I am definitely going to make the appropriate adjustments to adopt this new lifestyle.
I don’t have anything of interest to write about today. I have my second exam for my Discrete Mathematics course tomorrow evening; I’ve continued to code simple Java programs during my free time; and finally, I am hooked on Salena Gomez’s song “Fetish,” it’s been on infinite loop in the background while I coded a “Loan Qualifier” program. The second episode of Rick and Morty wasn’t great, but I’m glad the show is back.
Whenever I watch David Fincher’s The Social Network (2010), I never feel like I wasted my time. Instead, the movie always seems to talk to me. Watching the movie is an annual tradition for me, every time I come away with a different insight–that’s how you know it’s a great movie.
Tonight, the movie made me remember the years 2002 to 2006. Back then, I was in high school, commuting two hours in the morning from Queens to The Bronx High School of Science then two hours back. In the opening scenes of the movie, Mark struggles with the desire to prove his value. That feeling, it was something I remember being more common in every new person I met in the early years of the new millennium. Everyone wanted to do something special so that they can be special.
The memories of people then stand in stark contrast to the people of today, where everyone feels they are special by broadcasting their supposed uniqueness each second with a tweet, through a self-inflicted snap, another Instagram post. Social networks are a trap. Am I stretching if I were to say that these networks are enslaving each user to endlessly give up their energies, their drive, their freedoms to think away from the influences of a Like, Retweets, Views, and follower-counts? It’s not, and there are countless studies and books that examine and exhibit the downsides to using these platforms.
I want to finish up this writing exercise by confiding with you that I still have that fire from the early 00s. I’ve failed countless times, in many areas of life, that I now hold the greater wisdom of how tiny flickering embers of fire inside me can fuel something greater for tomorrow.
Do you know what is Discrete Mathematics? Oh boy. Since going back to school last fall, a year ago, I have repeated the same class each semester. It’s a tough class. I didn’t fail the course every time. The first semester, I should have stuck it out but I withdrew imagining myself getting the sure A grade the next semester. Next semester came around and the instructor was unorganized to the point where I withdrew again because it made no sense to get an F in a class that wasn’t being taught properly. Anyway, right now, during the summer course where the 16-week syllabus is shrunk to 6 weeks, things are going okay. The instructor is mercifully giving us easy questions, and the next exam is this coming Tuesday. I should be okay.
Back to Discrete Mathematics. Hm . . . Essentially, it’s a collection of all the mathematics a computer scientist needs to know to be good. So it’s algebra, it’s linear algebra, it’s all these basic number properties, proofs, oh man, the jargon and the terminologies are such a hazing, but I get it, every discipline needs a theoretical border wall to keep the uninitiated out–this is where having spent a decade failing in half a dozen careers helps out a lot.
Well, I can still get the A in this course. The review sheet for the next exam kind of resuscitated my hopes because the homework problems are so much harder. So I’ll be trying my hardest to concentrate solely on this second exam. I have tonight, tomorrow, the weekend, and Monday; I might take off from work on Tuesday to get an extra eight hours to practice.
Yeah . . . but once this summer course is over, I can’t wait to review all the material on my own, that’s where I really learn.