computer science

All posts tagged computer science

Growing up I was always interested in computers.  I helped put parts in computers and install programs as young as five or six.  As I went to school I always knew I wanted to do something with computers.  Sadly, I wasn’t able to take any computer related classes in middle school or high school because they simply were not offered.  I would have loved to take a computer science course before going to college to better prepare myself for the challenges that it brings.

Luckily, there is a group trying to change that.  Between December 9-15, 2013 is Computer Science Education Week organized by Code.org.  Their goal is to promote computer science education.  They’ve done a great job getting celbrities to back the cause and made a great YouTube video that you can see on this page and their site.

Computer science is not just for those who want to program.  Computer science is all about solving complex problems and critical thinking.  The solutions computer scientists come up with are manifest through a computer program but anyone can benefit from being a better problem solver.  Taking time to learn to program just a little bit will help you better see solutions to complex problems and understand how many of your favorite programs work and function.

Take time to program today or teach someone else.  The Computer Science Education Week website has a lot of great tutorials for anyone new to computer science.  If you already have experience but want to practice a bit more, head on over to GitHub and find an open-source project that interests you and contribute.

*args and **kwargs

As a recent graduate in computer science, I really probably should have known this, but today I learned.  This morning as the team and I were discussing some new methods and software to write the discussion came up about what were the *args and **kwargs we so often see in method declarations within Python.  Off to the Internet we went and found a perfect explanation from none other than StackOverflow.

Turns out *args and **kwargs are arguments given to a method.  Now, we all knew this to be true, this was not the interesting part.  The interesting thing to me was that you can put these in your method declarations if you want it to accept varying lengths of arguments rather than explicitly defined ones.  Very cool indeed.

Now, I’ve used arguments a lot in computer science especially command line arguments when writing small assignments for classes.  I knew these were passed in as *args but was unsure of what the **kwargs were.  From the StackOverflow answer they are both sets of arguments except the difference is that *args is an ordered list of values while **kwargs is a dictionary key-pair or key word arguments.  So passing in either a list or a dictionary will allow us to use these variables to allow our methods to take any number of arguments.

Probably should have known that.  Probably should have a deeper and better understanding of it.  I’m just getting started.  You learn something new everyday.

-Eric

Starting Again

Hello,

Welcome to my new blog.  Created for me to take notes on my every day workings and findings in the areas of web development and computer science.  I will try to update regularly with notes that I take each day working on the various projects that I do.

A little about myself, I am a recent graduate of the University of Utah with a Bachelors Degree in Computer Science.  I work full-time as the software engineering manager for a textile testing company and do sub-contract work on the side.  I created this blog as a place to keep my notes, establish discussion, and learn the tricks of programming and designing WordPress sites.

The site is named Eric Saupe, as that is my name, and the tagline (for now) is Things my wife doesn’t understand.  Often while I was at school and coming home from work I would want to tell someone about the cool new things I learned or discovered and my wife, Carly, was always the only one around so I would tell her.  She would smile and nod her head but she would often tell me that she has no idea what I’m talking about nor does she care if I’ve created an algorithm to minimize BDD variable lists or found a cool new way to generate and save forms using Django.  I needed a place to let my thoughts go and this is what I hope to accomplish with this site.

I hope you come back often and I hope it is as beneficial for you as I hope it will be for me.

-Eric