Programming Basics: Statements & Functions: Crash Course Computer Science #12

CrashCourse
17 May 201711:56

Summary

TLDRIn this episode of CrashCourse Computer Science, Carrie Anne delves into the fundamental building blocks of programming languages. She explains the importance of syntax in structuring statements and how assignment statements work by assigning values to variables. The video progresses to discuss the concept of programs as a sequence of instructions, akin to a recipe, and introduces control flow statements, particularly If Statements, to manage program flow based on conditions. Carrie Anne also covers loops, both while and for loops, to repeat code execution. She then illustrates the power of abstraction by introducing functions, which allow programmers to encapsulate complex code into reusable, easy-to-call segments. The episode concludes with a discussion on the significance of functions in modern programming, emphasizing how they enable efficient collaboration and the use of pre-written libraries for common tasks, setting the stage for the next topic: Algorithms.

Takeaways

  • 📝 Programming languages were developed to abstract away low-level details and allow programmers to focus on solving problems with computation.
  • 💬 Statements in programming languages are like complete thoughts in spoken languages, governed by syntax.
  • 🔴 An assignment statement, such as 'A equals 5', assigns a value to a variable.
  • 🔢 Variables can be named arbitrarily, but it's best practice to use meaningful names for clarity.
  • 🔄 A program executes a series of instructions sequentially, much like a recipe.
  • 🎮 To build interactive applications like games, control flow statements such as If Statements are used to make decisions based on conditions.
  • ❗ If Statements act as a conditional fork in the program's execution path.
  • 🔁 While loops repeat a block of code as long as a condition is true, useful for creating iterative behavior.
  • 🔄 For loops are count-controlled, repeating a specific number of times, often used when the number of iterations is known.
  • 🧮 Functions allow for the abstraction of complex code into reusable, modular components, simplifying program structure and maintenance.
  • 📚 Libraries are collections of pre-written, efficient, and tested functions that programmers can use to avoid reinventing the wheel.
  • 🔍 The essence of modern programming lies in the use of functions and abstraction to manage complexity and enable collaboration on large projects.

Q & A

  • Why was writing programs in native machine code considered a significant impediment to writing complex programs?

    -Writing programs in native machine code was a significant impediment because it required programmers to contend with many low-level details, which made the process of creating complex programs much more difficult and time-consuming.

  • What is the purpose of developing programming languages?

    -The purpose of developing programming languages is to abstract away low-level details of hardware, allowing programmers to focus on solving problems with computation rather than getting bogged down by the intricacies of hardware specifics.

  • What is a statement in programming languages?

    -A statement in programming languages is an individual complete thought, similar to a sentence in spoken language, which follows the syntax rules of the language to express a complete idea or action.

  • How does an assignment statement work in programming?

    -An assignment statement works by assigning a value to a variable. For example, 'A equals 5' is an assignment statement that stores the number 5 in a variable named A.

  • What is the role of syntax in programming languages?

    -Syntax is the set of rules that govern the structure and composition of statements in a programming language. It dictates how words, symbols, and phrases combine to form valid instructions that a computer can understand and execute.

  • How does a program execute a series of statements?

    -A program executes a series of statements in a sequential manner, starting with the first statement and running through one at a time until it reaches the end of the list of instructions.

  • What is an 'if' statement in programming and how does it work?

    -An 'if' statement is a control flow statement that executes a block of code if a specified condition is true. It works by evaluating an expression; if the expression is true, the code within the 'if' block is executed, otherwise, it may execute an 'else' block if provided.

  • How does a while loop differ from a for loop in programming?

    -A while loop is a conditional loop that continues to execute as long as a specified condition remains true, whereas a for loop is a count-controlled loop that executes a fixed number of times, incrementing a counter each time through the loop until it reaches a specified limit.

  • What is the purpose of a function in programming?

    -The purpose of a function in programming is to encapsulate a block of code that performs a specific task so it can be easily reused throughout a program. Functions, also known as methods or subroutines, help in compartmentalizing code, reducing redundancy, and improving code readability and maintainability.

  • How does modularizing programs into functions benefit software development?

    -Modularizing programs into functions allows for more efficient and manageable code development. It enables a single programmer to write an entire application or allows teams of programmers to work on different functions simultaneously. This approach also simplifies the process of identifying and fixing bugs and makes the code more readable and maintainable.

  • Why are libraries important in modern programming?

    -Libraries are important in modern programming because they contain pre-written, efficient, and rigorously tested functions that cover a wide range of common programming tasks. Using libraries saves programmers time and effort, as they do not have to reinvent solutions for common problems and can instead focus on the unique aspects of their applications.

  • What is the significance of abstraction in programming?

    -Abstraction in programming is significant because it allows programmers to work at a higher level, focusing on the functionality and logic of their code without needing to understand the complex details of how it's implemented. This concept is central to modern programming, enabling the development of complex software systems that are manageable and scalable.

Outlines

00:00

📚 Introduction to Programming Languages and Syntax

Carrie Anne introduces the concept of programming languages as a means to abstract away low-level hardware details, allowing programmers to focus on solving computational problems. She explains the fundamental building blocks of programming languages, including statements, which are complete thoughts that follow a language's syntax. Syntax is the set of rules governing the structure of statements. An assignment statement, exemplified by 'A equals 5', is used to assign values to variables. Variables can be named arbitrarily as long as they are unique. The script also outlines how programs are executed as a sequence of statements, similar to a recipe. To illustrate programming fundamentals, the idea of creating a simple video game is introduced, where variables such as level, score, bugs, spare relays, and player name are initialized, and control flow statements, particularly If Statements, are used to manage the game logic based on certain conditions.

05:01

🔁 Understanding Control Flow with If-Statements and Loops

The script delves into control flow statements, focusing on If Statements and their role in making decisions within a program based on conditional expressions. It demonstrates how If Statements act as a decision point, with an optional ELSE block that executes when the condition is false. The concept of nesting code within If and ELSE blocks is explained. Additionally, the script introduces While Loops, which repeat code while a condition is true, using a practical example of replenishing relays in a game. It also covers For Loops, which are count-controlled and repeat a set number of times, automatically incrementing a variable at each iteration. The script concludes this section by showing how to calculate an exponential bonus for a game using a For Loop, emphasizing the importance of loops for repeated calculations.

10:02

🎯 Functions: Abstracting Code for Reusability and Efficiency

The script highlights the importance of functions in programming as a means to package and hide complex code, allowing for reuse and easier maintenance. Functions, also known as methods or subroutines, can be called with specific parameters to perform a task and return a result. An example function called 'exponent' is created to calculate exponents, using generic variable names for flexibility. The script explains how to use a RETURN statement to send the result back to the caller. It also demonstrates how to create a function that calls another function, and how to encapsulate complex logic within a function for clarity and organization. The concept of a 'levelFinished' function is introduced to consolidate end-of-level calculations, including bonus calculation and high score tracking. The power of abstraction is emphasized, noting that modern programming relies on functions to build complex applications efficiently, often utilizing libraries of pre-written functions for common tasks.

Mindmap

Keywords

💡Programming Languages

Programming languages are formal languages designed to communicate instructions to a computer. They abstract away the complexity of machine code, allowing programmers to write instructions in a human-readable format. In the video, the development of programming languages is highlighted as a key innovation that enabled the creation of more complex programs by focusing on problem-solving through computation rather than on low-level hardware details.

💡Syntax

Syntax refers to the set of rules that dictate how statements are structured and composed in a programming language. It is analogous to the grammar of spoken languages. The video emphasizes the importance of syntax in programming by illustrating how it governs the structure of statements, such as 'A equals 5', which is an assignment statement in a programming language.

💡Assignment Statement

An assignment statement is a fundamental concept in programming where a value is assigned to a variable. The video uses the example 'A equals 5' to demonstrate how this statement assigns the number 5 to the variable named A, which is a basic operation in programming for storing data.

💡Variables

Variables are used in programming to store data values that can be manipulated and used throughout a program. The video explains that variables can be named arbitrarily, as long as they are unique, and it's a best practice to name them in a way that makes sense to anyone reading the code, such as using 'apples', 'pears', and 'fruits' instead of 'A', 'B', and 'C'.

💡Control Flow Statements

Control flow statements are used in programming to change the order in which the statements of a program are executed. The video introduces 'If Statements' as a common type of control flow statement, which act as a decision point where the program's execution path depends on the truth value of a condition, such as 'If X is true, then do Y'.

💡Conditional Statements

Conditional statements are a type of control flow statement that execute a block of code only if a certain condition is met. They are used to introduce decision-making in a program. The video demonstrates this with an 'if' statement, which is a fork in the road that determines which path the program will take based on whether an expression is true or false.

💡While Loop

A while loop is a control flow statement that repeatedly executes a block of code as long as a given condition is true. The video uses the context of a game where a character named Grace Hopper is restock with relays to illustrate how a while loop can be used to increment the number of relays up to a maximum of 4, only stopping when the condition (relays less than 4) is no longer met.

💡For Loop

A for loop is a type of loop that is count-controlled, meaning it will execute a block of code for a set number of times. Unlike a while loop, which can potentially run indefinitely, a for loop has a predetermined iteration count. The video provides an example where a for loop is used to give a player a bonus at the end of a level, with the bonus increasing exponentially based on the level and the number of unused relays.

💡Functions

Functions, also known as methods or subroutines, are blocks of code that are designed to perform a specific task and can be reused throughout a program. They allow for abstraction by encapsulating complex code into a simple, callable unit. The video demonstrates how turning the exponent code into a function simplifies the program and makes it more maintainable, as it can be called with different arguments without repeating the code.

💡Return Statement

A return statement is used in programming to exit a function and optionally pass a value back to the point in the code from which the function was called. It is a fundamental concept in programming that allows functions to provide results. In the video, the return statement is shown being used to send the result of an exponent calculation back to the part of the program that requested it.

💡Abstraction

Abstraction in programming is the process of simplifying complex reality by modeling systems that capture the essential aspects without the need to describe every detail. The video emphasizes the power of abstraction by showing how functions can hide complexity and make programs more manageable and understandable. Abstraction allows programmers to work with high-level constructs without needing to understand all the underlying details.

💡Libraries

Libraries in programming are collections of pre-written functions that have been made efficient, rigorously tested, and are available for use by programmers. They provide a way to reuse code and avoid reinventing the wheel. The video mentions that modern programming languages come with libraries that cover a wide range of functionalities, such as networking, graphics, and sound, which are crucial for developing complex applications.

💡Algorithms

An algorithm is a step-by-step procedure for calculations, data processing, and automated reasoning. Algorithms are fundamental to computer science and are used to perform tasks within a program. The video teases the topic of algorithms, suggesting that they will be discussed in future episodes, which implies their importance in the process of programming and problem-solving in computer science.

Highlights

Programming languages were developed to abstract away low-level details, allowing programmers to focus on solving problems with computation rather than hardware specifics.

Statements in programming languages are individual complete thoughts, governed by a set of rules called syntax.

An assignment statement assigns a value to a variable, exemplified by 'A equals 5', where variable A stores the number 5.

Variables can be named arbitrarily, but it's best practice to use names that make sense for understanding the code.

A program is a sequence of instructions, similar to a recipe, executed from the first statement to the last.

Control Flow Statements, such as If Statements, allow for conditional execution of code based on the truth value of an expression.

An If Statement can be paired with an ELSE statement to execute alternative code when the condition is false.

While loops, also known as while statements, repeat a block of code as long as a specified condition remains true.

For loops are count-controlled and repeat a block of code for a specific number of iterations.

Functions, also known as methods or subroutines, package code for reuse, hiding complexity and making code more maintainable.

A RETURN statement is used in functions to send back the result of the computation to the part of the program that requested it.

Functions can call other functions, allowing for complex operations to be broken down into simpler, manageable parts.

Modern programming involves the use of libraries, which are collections of pre-written, efficient, and tested functions.

Abstraction through functions allows for the development of large-scale software by individual programmers and teams working on different functions.

The concept of functions and abstraction is central to modern programming, enabling the creation of complex software like web browsers.

Programming languages come with libraries for almost every aspect of development, including networking, graphics, and sound.

Algorithms are a critical topic in computer science, which will be discussed in future episodes of the CrashCourse series.

Transcripts

play00:03

Hi, I’m Carrie Anne, and welcome to CrashCourse Computer Science!

play00:05

Last episode we discussed how writing programs in native machine code, and having to contend

play00:09

with so many low level details, was a huge impediment to writing complex programs.

play00:14

To abstract away many of these low-level details, Programming Languages were developed that

play00:18

let programmers concentrate on solving a problem with computation, and less on nitty gritty

play00:22

hardware details.

play00:23

So today, we’re going to continue that discussion, and introduce some fundamental building blocks

play00:28

that almost all programming languages provide.

play00:30

INTRO

play00:40

Just like spoken languages, programming languages have statements.

play00:43

These are individual complete thoughts, like “I want tea” or “it is raining”.

play00:47

By using different words, we can change the meaning; for example, “I want tea” to

play00:51

“I want unicorns”.

play00:52

But we can’t change “I want tea” to “I want raining” - that doesn’t make

play00:54

grammatical sense.

play00:55

The set of rules that govern the structure and composition of statements in a language

play00:59

is called syntax.

play01:00

The English language has syntax, and so do all programming languages.

play01:03

“A equals 5” is a programming language statement.

play01:06

In this case, the statement says a variable named A has the number 5 stored in it.

play01:10

This is called an assignment statement because we're assigning a value to a variable.

play01:13

To express more complex things, we need a series of statements, like “A is 5, B is

play01:18

ten, C equals A plus B”

play01:20

This program tells the computer to set variable ‘A’ equal to 5, variable ‘B’ to 10,

play01:25

and finally to add ‘A’ and ‘B’ together, and put that result, which is 15, into -- you

play01:29

guessed it -- variable C.

play01:31

Note that we can call variables whatever we want.

play01:33

Instead of A, B and C, it could be apples, pears, and fruits.

play01:36

The computer doesn’t care, as long as variables are uniquely named.

play01:39

But it’s probably best practice to name them things that make sense in case someone

play01:42

else is trying to understand your code.

play01:44

A program, which is a list of instructions, is a bit like a recipe: boil water, add noodles,

play01:49

wait 10 minutes, drain and enjoy.

play01:50

In the same way, the program starts at the first statement and runs down one at a time

play01:55

until it hits the end.

play01:56

So far, we’ve added two numbers together.

play01:58

Boring.

play01:59

Let’s make a video game instead!

play02:00

Of course, it’s way too early to think about coding an entire game, so instead, we’ll

play02:04

use our example to write little snippets of code that cover some programming fundamentals.

play02:08

Imagine we’re building an old-school arcade game where Grace Hopper has to capture bugs

play02:12

before they get into the Harvard Mark 1 and crash the computer!

play02:15

On every level, the number of bugs increases.

play02:18

Grace has to catch them before they wear out any relays in the machine.

play02:21

Fortunately, she has a few extra relays for repairs.

play02:24

To get started, we’ll need to keep track of a bunch of values that are important for

play02:27

gameplay, like what level the player is on, the score, the number of bugs remaining, as

play02:32

well as the number of spare relays in Grace’s inventory.

play02:34

So, we must “initialize” our variables, that is, set their initial value: “level

play02:39

equals 1, score equals 0, bugs equals 5, spare relays equals 4, and player name equals “Andre”.

play02:45

To create an interactive game, we need to control the flow of the program beyond just

play02:48

running from top to bottom.

play02:50

To do this, we use Control Flow Statements.

play02:52

There are several types, but If Statements are the most common.

play02:55

You can think of them as “If X is true, then do Y”.

play02:59

An English language example is: “If I am tired, then get tea”

play03:02

So if “I am tired” is a true statement, then I will go get tea

play03:06

If “I am tired” is false, then I will not go get tea.

play03:09

An IF statement is like a fork in the road.

play03:11

Which path you take is conditional on whether the expression is true or false -- so these

play03:15

expressions are called Conditional Statements.

play03:18

In most programming languages, an if statement looks something like …. “If, expression,

play03:21

then, some code, then end the if statement”.

play03:24

For example, if “level” is 1, then we set the score to zero, because the player

play03:28

is just starting.

play03:29

We also set the number of bugs to 1, to keep it easy for now.

play03:32

Notice the lines of code that are conditional on the if-statement are nested between the

play03:35

IF and END IF.

play03:37

Of course, we can change the conditional expression to whatever we want to test, like “is score

play03:40

greater than 10” 5 or “is bugs less than 1”.

play03:43

And If-Statements can be combined with an ELSE statement, which acts as a catch-all if the

play03:46

expression is false.

play03:47

If the level is not 1, the code inside the ELSE block will be executed instead, and the

play03:51

number of bugs that Grace has to battle is set to 3 times the level number.

play03:55

So on level 2, it would be six bugs, and on level 3 there’s 9, and so on.

play03:59

Score isn’t modified in the ELSE block, so Grace gets to keep any points earned.

play04:03

Here are some examples of if-then-else statements from some popular programming languages -- you

play04:07

can see the syntax varies a little, but the underlying structure is roughly the same.

play04:11

If-statements are executed once, a conditional path is chosen, and the program moves on.

play04:15

To repeat some statements many times, we need to create a conditional loop.

play04:19

One way is a while statement, also called a while loop.

play04:22

As you might have guessed, this loops a piece of code “while” a condition is true.

play04:25

Regardless of the programming language, they look something like this:

play04:28

In our game, let’s say at certain points, a friendly colleague restocks Grace with relays!

play04:32

Hooray!

play04:33

To animate him replenishing our stock back up to a maximum of 4, we can use a while loop.

play04:37

Let’s walk through this code.

play04:39

First we’ll assume that Grace only has 1 tube left when her colleague enters.

play04:43

When we enter the while loop, the first thing the computer does is test its conditional…is

play04:47

relays less than 4?

play04:49

Well, relays is currently 1, so yes.

play04:52

Now we enter the loop!

play04:53

Then, we hit the line of code: “relays equals relays plus 1”.

play04:56

This is a bit confusing because the variable is using itself in an assignment statement,

play05:00

so let's unpack it.

play05:01

You always start by figuring out the right side of the equals sign first, so what does

play05:05

“relays plus 1” come out to be?

play05:07

Well, relays is currently the value 1, so 1 plus 1 equals 2.

play05:11

Then, this result gets saved back into the variable relays, writing over the old value,

play05:16

so now relays stores the value 2.

play05:17

We’ve hit the end of the while loop, which jumps the program back up.

play05:21

Just as before, we test the conditional to see if we’re going to enter the loop.

play05:24

Is relays less than 4?

play05:26

Well, yes, relays now equals 2, so we enter the loop again!

play05:29

2 plus 1 equals 3.

play05:30

So 3 is saved into relays.

play05:32

Loop again.

play05:33

Is 3 less than 4?

play05:34

Yes it is!

play05:35

Into the loop again.

play05:36

3 plus 1 equals 4.

play05:38

So we save 4 into relays.

play05:39

Loop again.

play05:40

Is 4 less than 4?....

play05:41

No!

play05:42

So the condition is now false, and thus we exit the loop and move on to any remaining

play05:46

code.

play05:47

That’s how a while loop works!

play05:48

There’s also the common For Loop.

play05:50

Instead of being a condition-controlled loop that can repeat forever until the condition

play05:53

is false, a FOR loop is count-controlled; it repeats a specific number of times.

play05:58

They look something like this:

play05:59

Now, let’s put in some real values.

play06:01

This example loops 10 times, because we’ve specified that variable ‘i’ starts at

play06:05

the value 1 and goes up to 10.

play06:07

The unique thing about a FOR loop is that each time it hits NEXT, it adds one to ‘i’.

play06:11

When ‘i’ equals 10, the computer knows it’s been looped 10 times, and the loop

play06:15

exits.

play06:16

We can set the number to whatever we want -- 10, 42, or a billion -- it’s up to us.

play06:20

Let’s say we want to give the player a bonus at the end of each level for the number of

play06:24

vacuum relays they have left over.

play06:25

As the game gets harder, it takes more skill to have unused relays, so we want the bonus

play06:30

to go up exponentially based on the level.

play06:32

We need to write a piece of code that calculates exponents - that is, multiplying a number

play06:36

by itself a specific number of times.

play06:38

A loop is perfect for this!

play06:40

First lets initialize a new variable called “bonus” and set it to 1.

play06:43

Then, we create a FOR loop starting at 1, and looping up to the level number.

play06:48

Inside that loop, we multiply bonus times the number of relays, and save that new value

play06:52

back into bonus.

play06:53

For example, let’s say relays equals 2, and level equals 3.

play06:57

So the FOR loop will loop three times, which means bonus is going to get multiplied by

play07:01

relays... by relays... by relays.

play07:03

Or in this case, times 2, times 2, times 2, which is a bonus of 8!

play07:07

That’s 2 to the 3rd power!

play07:08

This exponent code is useful, and we might want to use it in other parts of our code.

play07:12

It’d be annoying to copy and paste this everywhere, and have to update the variable

play07:15

names each time.

play07:16

Also, if we found a bug, we’d have to hunt around and update every place we used it.

play07:21

It also makes code more confusing to look at.

play07:23

Less is more!

play07:24

What we want is a way to package up our exponent code so we can use it, get the result, and

play07:28

not have to see all the internal complexity.

play07:30

We’re once again moving up a new level of abstraction!

play07:40

To compartmentalize and hide complexity, programming languages can package pieces of code into

play07:44

named functions, also called methods or subroutines in different programming languages.

play07:49

These functions can then be used by any other part of that program just by calling its name.

play07:53

Let’s turn our exponent code into a function!

play07:55

First, we should name it.

play07:57

We can call it anything we want, like HappyUnicorn, but since our code calculates exponents, let’s

play08:02

call it exponent.

play08:03

Also, instead of using specific variable names, like “relays” and “levels”, we specify

play08:07

generic variable names, like Base and Exp, whose initial values are going to be “passed”

play08:12

into our function from some other part of the program.

play08:15

The rest of our code is the same as before, now tucked into our function and with new

play08:19

variable names.

play08:20

Finally, we need to send the result of our exponent code back to the part of the program

play08:24

that requested it.

play08:25

For this, we use a RETURN statement, and specify that the value in ‘result’ be returned.

play08:29

So our full function code looks like this:

play08:32

Now we can use this function anywhere in our program, simply by calling its name and passing

play08:36

in two numbers.

play08:37

For example, if we want to calculate 2 to the 44th power, we can just call “exponent

play08:41

2 comma 44.”

play08:43

and like 18 trillion comes back.

play08:45

Behind the scenes, 2 and 44 get saved into variables Base and Exp inside the function,

play08:50

it does all its loops as necessary, and then the function returns with the result.

play08:54

Let’s use our newly minted function to calculate a score bonus.

play08:58

First, we initialize bonus to 0.

play09:00

Then we check if the player has any remaining relays with an if-statement.

play09:04

If they do, we call our exponent function, passing in relays and level, which calculates

play09:08

relays to the power of level, and returns the result, which we save into bonus.

play09:12

This bonus calculating code might be useful later, so let’s wrap it up as a function too!

play09:17

Yes, a function that calls a function!

play09:19

And then, wait for it…. we can use this function in an even more complex function.

play09:24

Let’s write one that gets called everytime the player finishes a level.

play09:27

We’ll call it “levelFinished” - it needs to know the number of relays left, what level

play09:32

it was, and the current score; those values have to get passed in.

play09:35

Inside our function, we’ll calculate the bonus, using our calcBonus function, and add

play09:40

that to the running score.

play09:42

Also, if the current score is higher than the game’s high score, we save the new high

play09:46

score and the players name.

play09:48

Finally, we return the current score.

play09:50

Now we’re getting pretty fancy.

play09:51

Functions are calling functions are calling functions!

play09:54

When we call a single line of code, like this the complexity is hidden.

play09:57

We don’t see all the internal loops and variables, we just see the result come back

play10:01

as if by magic…. a total score of 53.

play10:04

But it’s not magic, it’s the power of abstraction!

play10:07

If you understand this example, then you understand the power of functions, and the entire essence

play10:11

of modern programming.

play10:13

It’s not feasible to write, for example, a web browser as one gigantically long list

play10:17

of statements.

play10:18

It would be millions of lines long and impossible to comprehend!

play10:21

So instead, software consists of thousands of smaller functions, each responsible for

play10:25

different features.

play10:27

In modern programming, it’s uncommon to see functions longer than around 100 lines

play10:30

of code, because by then, there’s probably something that should be pulled out and made

play10:34

into its own function.

play10:35

Modularizing programs into functions not only allows a single programmer to write an entire

play10:39

app, but also allows teams of people to work efficiently on even bigger programs.

play10:44

Different programmers can work on different functions, and if everyone makes sure their

play10:47

code works correctly, then when everything is put together, the whole program should

play10:51

work too!

play10:51

And in the real world, programmers aren’t wasting time writing things like exponents.

play10:56

Modern programming languages come with huge bundles of pre-written functions, called Libraries.

play11:01

These are written by expert coders, made efficient and rigorously tested, and then given to everyone.

play11:06

There are libraries for almost everything, including networking, graphics, and sound

play11:10

-- topics we’ll discuss in future episodes.

play11:12

But before we get to those, we need to talk about Algorithms.

play11:16

Intrigued?

play11:17

You should be.

play11:18

I’ll see you next week.

Rate This

5.0 / 5 (0 votes)

Related Tags
Programming BasicsSyntax RulesAssignment StatementControl FlowConditional LogicIf-StatementsWhile LoopsFor LoopsFunctionsAbstractionSoftware DevelopmentCrashCourseComputer ScienceCode FundamentalsGame DevelopmentLooping MechanismVariable InitializationHigh ScoreModular ProgrammingLibrary Usage