Technical Foundations

INFO 498F
What?
Why?
How?
{what?}
Learn the technical skills and tools necessary for working with information
Write code
# You'll write lots of code in this class.
# Right now it might look like non-sense:
x <- 10
# But it's super powerful
square <- function(a) {
return (a*a)
}
# Any guess what y is?
y <- square(x)
Manage Code

Work with Data


Largest changes in life exp. |
---|
Maldives (+42) |
Bhutan (+35) |
# You'll write code to do this!
Learning how to learn

{why?}

Excel

Tableau
... too many more....






Why write code to work with data?
Why write code for data
Fully customizable
Repeatable
Transparent
Scalable

Why not write code for data
Time consuming
Error prone
Unclear

{but... why do this at all?}

Discover

Communicate

Predict
{who?}


{your amazing TA team!}
Introduce yourself to your neighbors
Why you enrolled in this class?
Something outside of class you enjoy?
A topic/field you would like to apply data/code skills to

{how?}
Follow along!
bit.ly/info498f
Class/Lab
Mixed lecture/exercise format
Collaboration
Engagement
Supportive
Assignments
Weekly independent assignments
Open-ended group project
Stretch skills from class
Ensure everyone is on track
Policies
Due before class
Penalized 10% per day, down to 50%
Plagiarism will not be tolerated
How to solve problems
Experiment with different approaches
Post on slack
{orientation}
Language levels

High-level languages
Compiled
Interpreted
Write entire program
One line at a time
Less cumbersome/strict
Faster
Java, C, Scala
R, Python, Ruby
R
Built for working with data
Open-source
RStudio is a great IDE
Extraordinarily popular

{the command-line}
A distinction
Writing a program
Leveraging syntax


Create software
Interact with software
Reusable
Done once
both use syntax!
Abilities are predefined
Can define your own!
(the line may be blurry)
Command line
Text-based interface
Allows you to provide instructions to your computer
Very useful for efficiently interacting with programs
Spotlight search (mac)
command (and) space

Spotlight search (mac)
search for "terminal"

Open terminal

directory
machine
prompt
user
Determine directory (folder)
CLI
GUI
pwd
command (and) i


(print working directory)
filepath

Tree-structure
Change directory (folder)
CLI
GUI

cd a1-git-started


directory
(change directory)
List directory contents
CLI
GUI

ls

(list contents)
Make a new directory
CLI
GUI
mkdir new-folder


right click
(make directory)
Highly suggested practice
Command line on codecademy

Up Next....
Version control
info498-1
By Michael Freeman
info498-1
Class introduction
- 1,820