Thursday, November 17, 2016

Topics to Study When Learning Java

Hey Techies,

Image result for programmer    I remember when I first started to learn the wonderful language of Java in college. I previously skimmed over Java before college started to get an idea of what I as getting myself into and I was full of hope and potential for the upcoming year! But, what does life do to a young fawn playing out in the field?.... Life drops a meteor on the young fawn, crushing them and leaving them lifeless. I was that young fawn. I was that young fawn because I went about learning Java the wrong way. I just went through the motions just to get assignments done, meaning I struggled to keep up in Computer Science 1. I took a different approach to Computer Science 2 and was effectively able to learn and love Java as a programming language. So I have decided to share with you what topics in Java I recommend studying and getting familiar with so that you can go into learning Java with some idea of what is going on. So here we go!


Topics to Study When Learning Java:

1.) Vocabulary:
    I have said this in previous posts and I will continue saying it until the day my hands fall off and I am not able to type anymore, vocabulary is key in the language of Java. Since you cannot write code in Java like we speak, then you must learn the Java vocabulary to put in your code so that the computer can read and understand it. Let's say that you want to write code that says if number 'a' is larger than number 'b', then print out "yes". If not, then you want it to print out no. This code would look something like this:

int a = 5;
int b = 4;

if (a  >  b)
{
    System.out.println("yes");
}
else
{
    System.out.println("no");
}

    If you did not know the words to put in the code, the program will not compile, causing you, the developer, to have a lot of headaches. So, save yourself some headaches by just learning the vocabulary. It will quickly become second nature to know what they mean and what they do.

2.) Loops:
    Loops are a very helpful method to use in your programming when want to repeat a process until you get a result. One of these loops is referred to as a 'While Loop' and is usually used to cause a process to be ran a specific number of times. Though it seems relatively simple, these little guys can be a pain to trace through and to implement at higher level programming. Also, they are so widely used, you can't really just skip over the topic and expect to do good in in your assignments. If you just read up on them a little, you will lean that they can make your program 100 lines shorter and a lot easier.

3.) Arrays:
     Imagine a list that can hold anything from numbers to strings to boolean equations. That is basically what an array is in Java. An array is just a list that you can store values in, separating them into cells of the array. Here is a short visual:

       [ a1, a2, a3, a4 ]    //This is your starting list array. 'a1', 'a2', etc. are symbols of the numbers

       a1 = 5;  //These are declare your symbols to a certain number
       a2 = 4;
       a3 = 1;
       a4 = 8;

       [ 5, 4, 1, 8 ]  //This is your array list with the number values in them

    This concept can be harder to follow when you get further in depth with what you can do with arrays. Once you learn how to use these effectively, you can make your code a lot shorter and you can do a lot more with your programming.

4.) Linked Lists:
    Linked Lists are similar to arrays, but they hold addresses rather than just values. This concept has a lot to do with networks and connections between nodes. A node is one individual address/value. You can connect these nodes and tell them where to the next node to go to is, making a larger network of nodes fully connected. This concept can be an extremely hard concept to grasp as it can do so much within your code and following through its path can be a pain in the rear. That is why this is so crucial to learn properly and understand it thoroughly.

5.) Method Creation:
    A method is a set of code that is written for a given individual purpose to assist the entire program. An example of this would be if you were making a calculator program, you would make a method for the add function, the subtract function, etc. You can have hundreds of methods in one program, so it is essential that you get the setup correct to save yourself some headache. This isn't a harder topic to understand, but it is still heavily relied on for programming, making it at the bottom of this list.


      I suggest getting as much knowledge of Java as you can in all topics, not just these listed. This list is to just give you a stepping stone that will lead to more amazing topics of the language.

-Stay Geeky!

Tuesday, November 15, 2016

Top Multiplayer PC Games (Current)

Hey Techies,

    Here is a list of some of the top multiplayer PC games of the time! Enjoy:


1.) Counter Strike: Global Offensive:

    Style of game: First-Person Shooter, Search and Destroy
    Developer(s): Valve Corporation, Hidden Path Entertainment
    Date of Release: August 21, 2012
    Price: Around $15.00
    Systems: Windows, OS X, PlayStation, Xbox, Linux

Image result for counter strike global offensive    Description: Counter Strike: Global Offensive, otherwise known as "CS:GO", is a multiplayer first person shooter developed by Valve Corporation. As the fourth game released in the Counter Strike  franchise, CS:GO is played by millions of players on Windows and OS X systems as well as on PlayStation and Xbox. It is most known for being played competitively in E League by teams such as Faze, Ninjas in Pajamas, and Cloud 9.
    CS:GO uses a classic "Search and Destroy" type of game play. This means that there are Terrorists that are trying to either take out the Counter-Terrorist team or plant the bomb while the Counter-Terrorist team tries to eliminate all of the Terrorist team or disarm the bomb after it has been planted. Once an individual is killed, they do not re-spawn until the next round. In competitive, the first team to 16 out of 30 rounds wins the match.
    The game is not the only feature to the game that makes it so widely played. You can get weapon skins, whether by buying them or earning them, that can be worth from $.03 to $500.00. You can buy, trade, and sell these skins to others and rack up an expensive inventory to show off. The in-game economy is a big driving factor in the games success as well as the competitive edge.

2.) Payday 2:

    Style of Game: First-Person Shooter
    Developers(s): 505 Games, Overkill Software
    Date of release: August 13, 2013
    Price:  $19.99
    Systems: Windows, Linux, Xbox (360 & One), PlayStation (3 & 4)
Image result for payday 2
    Description: Payday 2 is a cooperative first-person shooter where you are part of a game that robs banks, steals valuable information, and operates heists. You can either do these missions with others in a cooperative multiplayer mode or do them alone with AI's as your teammates. The more money you get, the better your arsenal gets, as you can buy and upgrade weapons to either stay stealthy in your missions or go out with a bang and let the cops know you are coming!
    A large part of the game is the masks and achievements to collect. Whenever you do a mission, you have on a rather robust mask that strikes fear into the souls of your enemies. Most people know the classic USA mask that is featured in red, white, and blue, because you know as well as I do, that robbing banks is the most patriotic thing one can do. You can collect different masks that are usually a little more comedic, such as a unicorn mask. Along side the masks, the achievements are sometimes a little difficult to get, as you have to do strange things, such as melee 25 SWAT team members while they are belaying to the ground. Overall, this is one of the most played PC games there are, which is why it is at #2 on the list.

3.) Rocket League:

    Style of Game: Sports (Football/Soccer), Automotive Sports
    Developer(s): Psyonix
    Date of Release: Windows & PlayStation 4: July 7, 2015
                                 Xbox One: February 17, 2016
    Price: $20.00
    Systems: Windows, PlayStation 4, Xbox One

Image result for rocket league
    Description: Rocket League is an automotive sports game that has made its way up to the big leagues and is played competitively. Now, this is not a normal automotive sports game because there is no racing involved actually. You are an RC style car playing football/soccer.... I will just let that sink in for a minute. You can compete in games of 1v1, 2v2, or 3v3 and your goal is for your team to have the most goals by the end of 5 minutes. You can collect and use boost during games, blow up other player's cars with no fear of getting a red or yellow card, and thrust into the air to make your goal look good on the big screen.
    You can customize your car's look with changing the colors, wheels, antenna toppers, and even give it a sombrero. Within the game, there is a competitive mode that puts players of similar skill together to play. If a player wins often, they can climb the ranks and maybe even get signed by real Madrid! That is is Real Madrid ever scrapes up the money to get a video game soccer team going.

4.) Overwatch:

    Style of Game: First-Person Shooter
    Developer(s): Blizzard Entertainment
    Date of Release: May 24, 2016
    Price: $40.00
    Systems: Windows, PlayStation, Xbox
Image result for overwatch
    Description: Overwatch is relatively a new game when it comes to the rest of this list. That is what makes it surprising that it is already such a big hit. I even has its own "Overwatch League" for teams to go compete against each other to see who are the kings of Overwatch. In this first-person shooter game, you take the role as a "hero" and you as well as your team fight another team in multiple game modes, such as control point, payload, and point capture. It is similar to the game Team Fortress 2, but with more characters and better graphics.
    In the game, you can earn skins for characters, sprays, voice lines, victory poses, emotes, and player icons. These add a little personality to the characters and make them yours in a sense. You can also play in a competitive mode which puts you with players of your skills and you can climb the ranks to be a labeled as a better player. For a new game, it has become a big hit with payers of the PC community, making it to #4 on the list.

5.) Garry's Mod:

    Style of Game: Sandbox
    Developer(s): Valve Corporations, Facepunch Studios
    Date of Release: Windows: December 24, 2004
                                 OS X: September 23, 2010
                                 Linux: June 6, 2013
    Price: $9.99
    Systems: Windows, OS X, Linux
Image result for garry's mod

    Description: All of the previous games on the list have been competitive in a sense, so I think it is time to put a game on the list that breaks that uniform. Garry's Mod is a sandbox game in which you can do whatever you want! You can create world's that are your very own. You can load in characters from cartoons, politics, movies, and much more. If you can think it, you can do it in Garry's Mod!
    There are game modes you can play with others, such as Death Run and Murder, that are non-competitive and just there to goof around on. The game is basically a non-square, better version of Minecraft. People are constantly making new maps and new downloads, so the game is always growing, which is why it is still played after 12 years since release.




As always, comment what topics you would like me talk about!


-Stay Geeky!

Wednesday, November 9, 2016

Choosing Between Computer and Technical Majors

Hey Techies,

   I have been asked by countless people what do different majors in the computer fields have to offer and what do they involve. So for this post, I will putting a quick overview of three of the most common majors in this category. These are Computer Science, Computer Engineering, and Computer Information Systems. I will just give a quick overview of each and give a couple of occupation examples that fall under these majors.

Computer Science:
   This is the major I will start with since this is the major I did and know the most about. Computer Science is the internal workings of computing pertaining to coding in numerous languages to produce programs for computers to use. Some of the languages that you cod in are, but not limited to, Java, C, C++, and Python. You will also learn about circuits and the mathematics that computers use, such as learning binary and hexadecimal, developing truth tables, and mathematics functions like 2's complement conversions. You may learn some hardware of computers, but you will mostly be coding 2 programs a week. Some of the programs are fun, like making a virtual zoo, which I had to do and it went horribly wrong (I will tell you about it in a later post), and some involve writing 250 lines of code for an assembler in C. You will have long nights, staring blankly at a computer screen looking over your code and trying to seek assistance from stackoverflow.com.
   Though the major is definitely difficult, personally, I have enjoyed the major and would definitely do it over again. this major is for people who are patient, can think out processes well, and who can handle sitting in front of a computer screen for hours at a time.

Examples of Occupations:
   -Software Programmer/Developer
   -Computer Systems Analyst
   -Database Administrator

Computer Engineering:
   Unlike Computer Science, the Computer Engineering major is more hands-on and works more with the hardware and software workings of computers. In this major, you will take classes like Electromechanics and Digital Systems that involve more of the internal components of computers. The goal in this major is to understand how computers work and what can they do to make them faster, more powerful, and more efficient. Students in this major will work with the individual parts of the computer. The knowledge of Mathematics is essential in this major for learning how the components work with each other to work as a single unit. You will also be learning a fair amount about networks and routers and how they work in the modern world.

Examples of Occupations:
   -Computer Network Support Specialists
   -Computer Network Architects
   -Computer Hardware Engineers

Computer Information Systems:
   This major is basically a mixture between Computer Science and Computer Engineering. Computer Information Systems focuses on the applications of modern technology to better accommodate both the utility and the user to increase efficiency and usability. This major covers a broad range of technical platforms, such as communications, networking, and software design and application. Since it has a larger focus, covering these many subjects, jobs that cover the entirety of the computer work field open up.

Examples of Occupations:
   -Application Developer
   -IT Consultant
   -Quality Assurance Specialists


   All of these majors rely heavily on knowledge of mathematics and science, especially electrical science. You will also need patience and process thinking because you WILL be up until 4:00 am some nights running on just coffee and a dream of trying to finish this program that is giving you problems. As you can see, these majors are not for the easy at heart, but they are some of the most interesting majors to do if you are interested in computers and how they work.

   As always, comment for questions or suggestions on topics you would like me to go over in later posts.

-Stay Geeky!

Monday, November 7, 2016

Computer Science College Tips



Hey Techies,

   I have been asked numerous times by many people if I had any tips for Computer Science majors to help them succeed and enjoy the course. So, I have created a list of tips and tricks to help potential Computer Science students get a quick grasp on the material and thrive in the difficult course. Here, I present to you all my list of tips for you to take advantage of:

1.) Study to Vocabulary:
   Computer Science is 90% about programming in languages to develop programs to fit a need or fix a problem presented. These languages, such as Java or C++, are arrangements of words, such as int, double, void, and thousands of others, that give can be called on to make the computer preform a certain action. An example of this is (Java):
             
                          public static void main(String[] args)
                         {
                              System.out.println("Techie Life");
                          }
 
                          ^^^This small amount of code (Java) will be read by the computer and the system will be told to print out "Techie Life" and then end the program. As you can see, vocabulary is a major part of programming. You do not want to be writing a program and not know the words that are accepted by the language or not know what they represent and what they will do. Memorizing the vocabulary here is a big help and will make everything about the course easier to understand.

2.) Learn to Read Through Code:
   There is at least 1 question on every Computer Science exam that asks "What does this code do?" This question is always followed by a page or two of code that will give you a headache if you stare at it too long. Since it is this much of a necessity, start small. Read the books you are given and read through short programs (25 lines or less) until you get the hang of it. Gradually move up in size and difficulty until you are reading code that is 4 pages long. This also helps when figuring out why a program isn't compiling or running correctly. This way, you can spend 5 min reading the code, 5 min fixing it, and spending the rest of the time enjoying life instead of staring at your computer screen for 3 hours wondering if it is too late to switch majors.

3.) Practice Your Skills:
   When you learn the skill of programming, you need to practice it at least once a week, as later in the course you will be writing a minimum of 2 programs a week. Practicing programming will help you get faster and help your problem solving skills, while staying fresh on everything. Now, I am not saying to write a program for 62 hours in a week for fun. Do small programs, such as simple adders, scanners, and printers, as these do not take much time and will also keep your programming skills sharp.
Image result for guy coding

4.) Collaborate with Others:
   Here, I am not saying to go to someone and straight up ask for their code. That is one way to get kicked out of the university. I am saying to talk to other students and see that their are different ways to implement pieces of the programs. If you struggle with something like the concept of loops, find another student who understands loops thoroughly and ask for his help. This can help you realize that their is different ways to get the same result.

5.) Know Your Math:
   One of the most difficult challenges I had to overcome in this major was the math. Though I was excellent in math when I was in high school, I did not learn to study until I was in college. So when cam the time where I had to take Calculus 1 and 2, I struggled a little. I went to tutor sessions and reviewed online, but still struggled in the concepts. Make sure you know the concepts and stay up with your other classes as well as classes that go along with your computer science major. If you keep up with all your classes, it will become a habit and it will make school seem easier for you.

   These are just a couple of the tricks and tips I used to make it through school and finish my computer science degree.
 
   Leave a comment for any topics you would like me to talk about or questions that you would like me to cover.

-Stay Geeky!

Saturday, November 5, 2016

The Birth of a New Beginning

Hello Techies,

   I am extremely interested in modern technology, as it is ever changing. Every year, new advancements come out in this field, making huge strides to making something beautiful. Which brings me to this blog.
   I am starting this blog to promote conversation about new enhancements in the technology field. We will cover everything from new technology while also sprinkling some fun and other posts that are still interesting, such as IT help and fixes as well as ways to make a little cash on the side using the internet and technological skills. Hopefully we can get a good dialogue often enough to post most days a week and help each other wile having a good time.
   Thank you for your time and comment on some topics to cover that you would like to hear about.

-Stay Geeky