$\require{cancel}$
Introduction to Programming
- This is background material.
- The intent is to help you understand where you are headed if you are a CIS major.
- And to give you an idea of what we are about to do.
- I am using Chapter 1, section 1 of the book.
- This is a bit technical, but a quick read.
- I will link in other sources as I use them.
- In this class we will learn about computer programming.
- A computer is a programmable electronic device capable of storing and processing data. (my definition)
- If you are interested When Computers Were Human by David Alan Grier is a really great discussion of the history of people acting as computers!
- A program is a list of unambiguous instructions meant to be followed mechanically by a computer. (Our author)
- The language a computer understands is quite simple, but hard to read.
- Discussed at the beginning of section 1.1. ( don't read too far)
- It is called Machine Language and is unique to each type of computer
- Intel processors (probably in your laptop) have one machine language
- Arm processors (probably in your phone) have another...
- Machine language is strictly a bunch of numbers.
- Think about a menu at a restaurant where you "order by the numbers".
- (source: https://www.no1chinasebastian.com/menu/)
- In this case my order would be a 93,95a.
- I need to know what all the numbers mean to write any code.
- It is difficult to program in machine language.
- Higher level languages were invented to make programming easier.
- This is from section 1.3
- High level languages are written for humans.
- There are many, they include java, c/c++, FORTRAN, R, python, javascript ...
- We will study java this semester.
- These languages need to be translated into machine language
- This is done by a compiler or an interpreter.
- We will discuss this in more detail soon.
- So in the end, computer programming is creating a set of instructions that solve a problem in a language a computer can "understand".
- We will discuss the further but it involves
- Understanding the problem you are going to solve.
- Devising a solution to that problem.
- Writing that solution in a computer programming language
- Testing to make sure that your solution works.
- Using your solution.