Sunday, January 29, 2017

Computer Programming Basics



By Xavier Reinders

Computer programing like most hobbies or jobs has its own terminology that may seem nonsense to an outside observer.  I will attempt to discuss and clarify most of these terms and allow you the reader to have a better understanding of computer science as a field. I will discuss small simpler concepts and go into detail on larger more important things.
Some words that I use below do not require full paragraph definitions but are important to understand nonetheless. Editor, a computer program used to write other programs, like Microsoft Word but for a specific programming language. Byte, information storage, a set of 8 ones or zeros that are interpreted together. User, person who uses the program, like how you are currently using this web page by reading it. Input, information given by the programmer or the user to the computer. Output, information given by the computer to the programmer or user. Now let’s get into the more complex terminology.
Word art of some of the most common languages
First things first, what is a language? Much like a normal human language it is a means of communicating an idea that multiple people or a computer can understand. According to Wikipedia a programming language is a formal language designed to communicate instructions to a machine or computer. These languages can range from very basic, like in a calculator performing basic math, to very complex like google, sorting and processing trillions of bytes of information. You might hear these languages referred to as ‘levels of abstraction’ by a computer scientist. This comes from the very first language, binary, commonly known by its combination of 1’s and 0’s. All languages since then have been ways of making those 1’s and 0’s easier to interpret for humans. Instead of an insane string of 1’s and 0’s most languages have a single word function like ‘print’ that puts words on the screen.
As I said above languages are an attempt to humanize computer language through the use of functions. Functions are sections of code that when interpreted by the computer perform a certain task. They are usually labeled by a certain word or phrase like the ‘print’ function. This word is what the computer programmer actually types into their editor followed usually by input formatted as the language dictates. This function then returns and output which may go back into the program and trigger other functions or like with a ‘print’ function return things to the user like putting words on the screen.

Last of the big important things are Libraries. Libraries are the groups of functions that actually make up a language. Each library contains groups of similar functions, one common to most languages is an input-output library, deals with giving and taking information from the user. As I said these libraries are what make up the actual languages but there are two basic types of libraries within a language. The first I will call integral libraries, these are the structure of the language, they are written by the language creators and contain basic functions for operating programs. The input-output library would be an example of an integral library. The second type being complex libraries, these are often created by users of the language rather than its creators. These contain complicated functions based on functions in integral libraries that perform more complex tasks such as a random number generator function. Although these are not technically a part of the language they can be shared and downloaded with a language as long as their creator makes them available.

Sony's Project Morpheus


By Tanner Fred

The world of virtual reality was something that at one time seemed like a very unrealistic concept for most people. To put on some sort of device and than be able to experience totally different world than the one you are living can be quite the scary concept. The gaming technology is the frontrunners in this development as many companies have begun to develop devices that also gamers to play their games in a much more realistic way, most notably Sony and PlayStation's Project Morpheus.

Sony has developed a Virtual Reality system for their PS4 in which you set up the device and synch it to your console and are able to put the device over your head and eyes, giving the simulation that you are in the game. This device is the first of its kind for any console based gaming systems, allowing the gamer to have a much more realistic gaming experience. This device is used most notably for horror games, due to the increased sound and in your face action of the jump scares and eerie moments. The device offers a full HD 1920 x 1080 display with a 5-7 inch screen that offers a 100-degree field of vision. It also runs t 120Hz which is higher than both the Oculus Rift, PC's virtual reality system, and the HTC Vive. This device is also very light and easy to wear, with most of the weight being focused on the top of the head and it also allows for players with glasses to comfortably wear the headset. Also, the device has recently been upgraded so that there are nine head-tracking LED units as opposed to the previous six, which allows for virtually no lag.

Although there are a lot of flaws that come with this device being the very first of its kind, its overall performance rivals that of its PC counterparts. This device is a must have for all hardcore PlayStation gamers, and is also great fun for those looking to have a good time with both friends and family.



Chasing the Dream

by Qiyang Li

My dream is to become a game designer. I believe that most of us have had a variety of dreams in the past. My father is a doctor so when I was at 6 years old, I wanted to be just like him and save lives. Unfortunately, because I was afraid of seeing blood I gave it up pretty quick. When I was in junior high school, I enjoyed watching American television series, especially about police and action. I still remember the first action TV series I watched, “24”, starring Kiefer Sutherland as Jack Bauer. At that time all I wanted to be was a police officer.

First Call of Duty game released
After a year later, I received my first computer and my friend introduced me to a game which was very meaningful to me: Call of Duty. I couldn’t wait to play it, but unfortunately it took two days to download due to my slow internet. I realized that the dream of becoming a doctor and police officer was because I enjoyed having a feeling of duty and doing things people most people can’t, but after I was introduced to gaming, I lost the sense of duty I once had. My parents always said I was addicted to computer games, but I knew deep down I wasn’t. I just need to find a passion in video games that I could work for.
         
I recently watched a video which I finally found that passion. It was a TED talk presided by a young woman majoring in computer science and game design. I still remember the words she said that has influenced me since then. She said, “The job I am doing is using computers to create a new world.” The dream of being anything we want is often unreachable but in a fictional world, anything is possible. This is why I want to be a game designer, to create a world that anyone can be the one he or she wants to be.
           
As a freshman at Michigan State, I haven’t spend much time studying in computer science and still have many things that I need to learn, but the goal is still unchanged. I can’t wait to create my own world in the future.

If interested, link to the TED talk can be found here

Prompt 5: Observing the Community - SpartaHack 17!

by Steven Wang

SpartaHack Logo
SpartaHack 2017 is Michigan State's third annual student run hackathon, an event where nearly 500 students of all skill types compete in a 36-hour programming marathon where winners are given prizes ranging from money to product from big companies.

When people think about what exactly is a hackathon, a place full of programming nerds eating junk food and staying up all night is often the most common visualization. I admit I did fall into believing this stereotype but I can say with hands on experience that is not often the case. SpartaHack greatly represents itself as an event with no programming experience required.  I, along with many of my peers, can see past the competition aspect and treat is as a learning experience: a place to grow outside the classroom. Trust me, there is a good chance your are in a room with people who have no idea what they are doing. On the other hand, there were plenty of nerds there too but who said there's anything wrong with being a nerd? Many big companies such as Amazon, Quicken Loans, and Ford will always be there to sponsor events like this so it may also be a good idea to print those resumes and get talking!

Midnight is officially when the hacking starts and I was fortunate enough to get my hands on an Amazon Echo and a Samsung Gear VR. Amazon Echo, also known as Alexa, is a voice command device from Amazon capable of answering questions, playing music, and connecting with multiple smart devices. With access to its API, or Application Program Interface, developers are able to create there own commands and functions. I myself created a basic facts function where Alexa is able to state facts about a certain subject. An example of this function would be:

User: "Tell me a fact about space"

Alexa: "Here is a fact, a year in Mercury is only 88 days long"

However experienced developers take it to the next level and create more advanced functions. One of my friends created "Alexa the Poet", where given a word or phrase, Alexa can refute a poem about it.
SpartaHack can also be place to work with new technology that you have never seen or used. For me, I have never tried virtual reality and I can say that using the Samsung Gear VR was quite the experience. Its comfortable, high quality build and wrap around head straps make the user feel like they are physically in the media they are consuming. Although video games are a popular genre associated with virtual reality, developers can get creative and design other uses such as watching 360° film or even for educational purposes.

Hackathons are a place not only just for programming, but a place to interact and get creative with peers, professionals and companies to strengthen your resources and opportunities. This was my first ever hackathon and I can say the experience gained in participating in these types of events is a must for all computer science and engineering enthusiasts.

Want to learn more about SpartaHack or even interested in participating in the future? Links to their website and social media can be found below!

Website
Facebook
Twitter