Learn Computer Science

Overview

Computer Science skills are growing continuously more desired. Almost every business needs to hire individuals with knowledge of Computer Science. Here we offer an opportunity to learn various computer science topics and to become more interested in the subject itself. Here we also provide great resources to further your learning if you are interested. Some of the computer science topics that are taught in the center are problem-solving, project management, and programming. Specifically, this learning area will teach you binary, basic programming, intermediate programming, and project management.

Here's a video by CIT students about Artificial Intelligence that was featured in a Forbes article.


Learn(current) Practice(current) Resources(current)

Learn

What is Binary?

Binary is a base-2 numerical system, meaning values can either equal 1 or 0. It is basically the language a computer uses to store data.

1001 0011 1111 0000
So how do I decode it?

Effectively, a string of 1s and 0s sums up to be a decimal value. For instance, 1111 = 15 and 1110 = 14. Binary is read from right to left. The value of each position is 2x, where x is the number of digits up to that point, starting at 0. So, 1 is 20 and 11 is 20 + 21 which equals 3. If there is a 0 instead of a 1, then no value is added to the sum. 101 is 20 + 0 + 22.

Oftentimes, binary is expressed in units of 8 digits. So the values of each digit are 1,2,4,8,16,32,64,128. If you need a value higher than 255 or 11111111 you would need another chain of binary like 1001011 10110000. In these instances, you would still just add the values but the first digit in both chains would be 20 and not 28 in the second instance.

Can binary be decoded in other ways?

Binary can be converted to hexadecimal and even characters like letters.

For hexadecimal, there are strings of 4 digits like 1001. Hexadecimal is base-16 whereas decimal is base-10. So, if we convert binary to hexadecimal then we need more values than just 0,1,2,3,4,5,6,7,8,9 which is base 10. Hexadecimal base values are 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F where F is equal to 15 in decimal. For example, 1011 is B in hex. If we have 1011 0001 then in hex it is equal to B1 and not C.

To convert binary to words you need to understand what an ASCII table is. You can view an ASCII table at asciitable.com. Essentially, you want a string of 8 binary digits to sum up to the ASCII value for the letter. For example, 01001000 01100101 01101100 01101100 01101111 00001010 is equal to Hello in text.

What is Basic Programming?

We define this section to be a place to learn the most basic skills used in programming. Although the syntax changes for each language, the same skills apply to any programming language you use. For the sake of this introduction, any code will be written in Java.

int x = 0; String y = "Hello"; boolean z = true; double a = 2.7;
Variables

Variables are how information is stored in a computer program. There are different types of data: integer, double, boolean, String, and more. Integers are used for storing whole numbers. Doubles are used to store numbers that have a decimal point such as 1.0 and 12.333. Strings store text like "Hello" and "123!" Booleans store true or false.

int x = (y * 3) % 2; String c = k + "Hello";
Working with Variables

The values that variables store can change. Usually, the values change through some sort of mathematical operation. For Instance, * (multiplication), / (division), % (modulo), + (addition), and - (subtraction). The % (modulo) operator finds the remainder after two numbers have been divided. 4 % 2 = 0.

Changing a variable is useful in instances like counting the amount of something or finding the average of a set of values.

if (varaible == true) { //do something }
Logic in programming

Logic is one of the most important things to understand in programming. Programming uses if, else if, and else statements to determine when an action is executed. This allows for a control structure that follows a procedure when the right criteria are met. These control structures work off of the type boolean variables and comparison operators like ==, !=, >=, <=, >, <, &&, and ||.

For example, 1==1 is true and 1==2 is false, but 1!=2 is true. 2 >= 2 is true, 1>=2 is false, 3 > 2 is true, and 4 < 4 is false. The && and || operators work in a similar manner. The && operator, the and operator, determines if two things are both true. The || operator, the or operator, determines if at least one thing is true. These can be seen in situations like true && false which equals false and true || false which is true.

The previously mentioned statements are integrated into if, else if, and else statements. Let us say you want to execute an action only if firstBool and secondBool are true. The code you would want to write might look something like this...

if (firstBool && secondBool) { //do something }

Now you want to add more functionality for when the previous statement was not true and the action was not executed. Using an else if statement you can determine if otherwise intOne is greater than or equal to intTwo.

if (firstBool && secondBool) { //do something }

else if (intOne >= intTwo) { //do something else }

Lastly, if none of the previous conditions were met you want to execute a different action.

if (firstBool && secondBool) { //do something }

else if (intOne >= intTwo) { //do something else }

else { //do something }
What is Intermediate Programming?

We define this section to be a place to learn basic skills that are integral to programming. Although the syntax changes for each language, the same skills apply to any programming language you use. For the sake of this introduction, any code will be written in Java.

while(condition) { //do something }

for(variable; condition; increment) { //do something }

do { //do something } while(condition);

Loops

Loops allow a certain action to be executed while a condition is true. This means that repetition of the action itself is not necessary. Also, this allows an action to be executed for an uncertain amount of time.

For Loops
for(int i = 0; i < 10; i++) { //do something }

This for loop would execute the inner action 10 times as the variable i increases from 0 to 10. Each time the for loop loops it increases the value of i by 1 and executes the action. A for loop is used when you know the exact amount of times an operation needs to be executed.

While Loops
while(conditionOne && conditionTwo) { //do something }

A while loop is used when there are no definite amount of runs. A while loop executes as long as the boolean expression evaluates to true. In this case, if conditionOne and conditionTwo are both true the inner statement will run.

Do While Loops
do { //do something } while(x > y);

Lastly, a do-while loop is used when there are no definite amount of runs and the action is run at least once. A do-while loop executes the action and then checks the condition. As long as the boolean expression evaluates to true the loop continues to run. In this case, if x is greater than y the inner statement will run.

Advanced Programming?

This section serves as an introduction to computer programming. If you wish to learn more about programming on your own please check out resources.

What is Project Management?

Project Management methodologies such as Scrum and Agile are crucial to the programming development process. These methodologies are used to efficiently and effectively create projects. Knowing about project management and Scrum is very important for future careers and should be learned.

If you are interested to learn more about project management please check out the resources.

Practice

What is Binary?

Resources

Programming Resources:

We recommend that if you are interested in learning programming languages you learn Python, JavaScript, and Java as they are used in the CIT curriculum.

Python

JavaScript

Java

Project Management Resources:

As previously mentioned, project management is very important to learn for future jobs in the computer science field. If you are interested in learning more about project management you can use the links below to discover more.