cs2010 Notes: 01 Welcome
Fundamentals First Day
Hello #
- This is Computing Fundamentals
- I’m Nat Tuck
- Course site at https://homework.quest/ then click “cs2010”
- For this class, that’s mostly but not entirely a link to Canvas.
- Attendence
Computing Fundamentals #
- What’s “computing”?
- Broadly, the study of stuff you can do with a computer.
- What’s a “computer”?
- Let’s go for a narrow definition for the moment:
- An eletronic device that can run computer programs
- Programmable: Exactly what it does depends on what program it’s given
- What can a computer program do?
- What can’t a computer program do?
- How, practically, do we write computer programs to do things?
- Those are typically “Computer Science”.
- How, practically, do we run the programs we want to run to in a way that will help accomplish what we want to do?
- A focus of that might be “Information Technology”.
- What if you stick arms, legs, or wheels on your computer?
- That might be “Robotics”, or it might just be “a car”.
Syllabus #
- Let’s review the syllabus
- Lab schedule is annoying:
- Lab section 1 on Monday
- Lab section 2 on Friday
- That’s always separated by a lecture
- We’ve got one more monday off than Friday
Why care? #
- Why do we want to learn about computing?
- How many computers in this room?
- Do you know anyone who doesn’t use computers:
- At work?
- When not at work?
- Interesting question: Who decides what program(s) a given computer will run.
Parts of a Computer #
- CPU
- Memory
- Storage
- I/O devices
- Keyboard
- Screen
- Network interface
(stopped here) #
Data #
Computer hardware typically stores data as electrical signals that are either off (zero volts) or on (detectibly more than zero volts).
That lets us store and process information in computers by interpreting those siganls.
First step, we can think of an “off” signal as 0 and an “on” signal as 1. We call one on or off value a “bit”.
With more than one bit, it’s possible to interpret the collection of bits as a number with a greater range. For example, we can interpret a pair of bits as one of four values:
- 00 can be interpreted as the number 0
- 01 => 1
- 10 => 2
- 11 => 3
With more bits, we can represent larger numbers.
Once we have numbers, we can go through another layer of interpretation to represent letters using numbers.
- 1 can be interpreted as A
- 2 can be interpreted as B
- etc
It’s important to keep in mind that at each step these are somewhat arbitrary choices. We could just as well decide that
- 65 is A
- 66 is B
- 67 is C
- etc
Which is closer to how most modern computer system actually do it.
Going further, there are various ways to represent images, sound, videos, and computer programs as sequences of bits.
Importantly, there’s typically multiple options for how to represent data, and those options have advantages and disadvantages.
Topics This Semester #
- Basic concepts of computer programming
- Data
- Algorithms
- Building blocks
- Numbers
- Logic
- How are computers structured?
- Hardware
- Software
- Concepts
- Writing simple computer programs
- Specific stuff
- Databases
- Security
- Probably other stuff too