Slides (PPTX)
Download
Report
Transcript Slides (PPTX)
Week 4 - Monday
What did we talk about last time?
Simulating motion with a computer
Lab 3
If a ball is flying through space at a speed of 4
m/s with an angle of 30° above the horizon
What's its x velocity?
What's its y velocity?
30°
If a ball has an x velocity of 7 m/s and a y
velocity of 3 m/s, what's its total speed?
3 m/s
7 m/s
Modern computers are used to store vast
amounts of data
As you know, deep down it's all 1s and 0s
To be used, data must be loaded into RAM
Also called primary memory
But for long term storage, you can keep it on
Hard drives
Flash drives
Optical media
Tape backup
Hard drives store data in magnetic patterns with a needle
hovering above magnetically coated platters that spin at
thousands of revolutions per minute
Platter
Pros
Inexpensive
Mature
technology
Cons
Vulnerable to
Impact
Strong magnetic
fields
Noisy and prone
to failure
because of
moving parts
Generate heat
Needle
Flash drives store data in tiny charges in floating-gate transistors
embedded in silicon
Memory
Pros
Fast
No moving
parts
No noise
Very little heat
Low power
Cons
Expensive
Limited number
of times it can
be written to
But increasing!
Controller
Plastic disc with patterns of dark, unreflective
spots (pits) for 0 and reflective spots (lands)
for 1 created on some reflective embedded
material, often aluminum
As the disc spins, a laser shines on its surface
Newer optical media uses shorter wavelength
light to get higher resolution
Pros
Very cheap
Easy to mass
produce
Cons
Slow
Many forms are
ROM
Most others can
only be written
once
Land
Pit
Most operating systems support one or more file
systems
ext2, ext3, ext4 for Linux
FAT32 and NTFS for Windows
HFS for Mac
These file systems describe how files can be laid
out on a hard drive (or other storage)
A special kind of file is called a directory
These allow you to organize your files
Sometimes called folders
A file is a sequence of bytes (groups of 8 bits)
A file is the typical way we organize data on our
computers
One way to classify files is the following categories:
Data files: they contain the text, music, videos, and other
content we create and use
▪ Word documents
▪ MP3 files
▪ Movie files
Executable files: these files contain programs that do
things, including creating other files
▪ Microsoft Word
▪ Overwatch
▪ Google Chrome
Some files have extensions, usually 3 letters in
length
For example: .exe, .mp3, .html
These extensions are part of the file name
Though Windows will sometimes hide them
They have no real meaning
You can change the extension by typing a new one
They're intended to help the user and the OS
know what kind of file they're dealing with
When you double click on a file, there are settings in
Windows that pick which application should open a
file with a particular extension
A database is a collection of data and a set of
rules to organize the data by relationships
A database administrator makes the rules
and controls access
A database management system (DBMS) is
the program through which the user interacts
with the database
If we want to store data, we could use regular
files
But databases have many advantages:
Shared access for many users
Minimal redundancy so that space is used efficiently
Data integrity with rules that protect relationships
Controlled access with authorized users
Databases have also been heavily optimized for
speed
Users don’t need to know anything about the
actual physical layout of the database on disk
There are many DBMSs
Oracle is an expensive corporate-grade database
Microsoft Access is Microsoft's home and small
business database
Microsoft SQL Server is their corporate-grade
product
MySQL and PostgreSQL are both open source
(free!) databases
▪ Often used for webservers
▪ Weird since Oracle owns MySQL now…
Almost all modern databases use the relational
database model
The fundamental unit of organization is a table
An older format for databases was hierarchical, like a
tree
A table consists of rows which are records
A record consists of fields or elements, which
are each a specific item of data
A special field which is unique for each record is
called a primary key, which is used as an ID
number
Students
ID
Name
1
Rosters
Houses
Year
House
ID
Name
Harry Potter
4
1
1
2
Draco Malfoy
4
4
3
Hermione Granger
4
4
Cho Chang
5
Cedric Diggory
Points
Student
Class
Griffindor
35
1
1
2
Ravenclaw
42
1
2
1
3
Hufflepuff
23
1
3
5
2
4
Slytherin
59
7
3
1
4
1
5
Professors
Classes
ID
Name
2
1
2
2
2
3
2
5
ID
Name
Professor
1
Albus Dumbledore
1
Potions
2
2
Severus Snape
2
Transfiguration
3
3
Minerva McGonagall
3
Care of Magical Creatures
4
4
Rubeus Hagrid
4
Divination
5
5
Sybill Trelawney
5
Defense Against the Dark Arts
6
6
Alastor Moody
A query is the name of a command given to a
database by a user
Queries can:
Retrieve
Modify
Add
Delete
Most databases allow commands to be issued
through a variant of SQL
Structured Query Language (SQL) is the
standard language for database access
It is pronounced as "S-Q-L" or "sequel"
▪ I have even heard "squill"
Though the values in a database are casesensitive, commands in SQL are not
Commands are often typed in ALL CAPS
The most fundamental command in SQL is SELECT
A SELECT command takes the form SELECT fields
FROM tables WHERE condition, but the WHERE part is
optional
SELECT retrieves fields from one or more tables and
returns a new temporary table containing the data
that matches the condition
SELECT Name FROM Students WHERE House = 1;
Asterisk (*) specifies all fields (or all tables)
SELECT * FROM Houses;
Visual Python is an extension to Python that lets
us easily manipulate 3D objects
I chose Visual Python because it's easier to learn
program when you can see the effects of your
code
Any Visual Python program should have the
following line at the top of it:
from visual import *
However, GlowScript.org includes this
automatically, so it won’t be necessary for us
The box() command will make a
box
pos, size, color are attributes
The sphere() command will make
a sphere
pos, radius, and color are
attributes
redbox=box(pos=vector(4,2,3),
size=vector(8,4,6),color=color.red)
ball=sphere(pos=vector(4,7,3),radius=2,
color=color.green)
Write a program that:
Initializes a variable x
Initializes a variable y
Initializes a variable z
Initializes a variable radius
Makes a blue sphere at position (x, y, z) with
radius radius
Data mining
Loops in Python
Read Python Chapter 3
Keep working on Project 1
Read Python Chapter 3
Exam 1 next Monday