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,730