pacing and teacher notes

DAY 7
Intro

Goal: 

AP

Goal: You down with OOP? (Yeah you know me)

Objects:
  Properties + Actions

Object:
<privacy> class <classname>{
   //variables
   //functions
}

Function:
<privacy> [static] <return type> <function name>(  [ <type> <varname> ] ) {

}

DAY 6
Intro

Goal:

AP
Goal: Introduction to functions


DAY 5
Intro

Goal: Computer Miscelanery + Scheme Operators

-What is plain text
-Homework Server Demo
   check your submission
-Why plain text
-Linux Environment (no focus on using terminal)
    why linux
    ls
    terminal
    tree demo 
    drracket
-Scheme operations

Numerical Operators
+ - / *
remainder quotient

Boolean Operators
>  <
>= <=
=
not  
and 
or


DAY 4
AP
Goal: Data Types and Variables

demo
 + operator as add vs concatenate
 mixed type operations
 char + number
 char  + string
 


Intro

Goal: Prefix Notation, the first thing you need to know about scheme. 

1. Look at homework

2. Split topics, quiz next Friday.

3. Prefix Infix and postfix

4. Examples
  a) Translate to infix:
     (* (+ 1 2) (- 3 4) )
     (+ (- 2 (* 3 4))(- 3 5) )
  b) Translate to prefix:
      (9 - 2) + (3 * 2)
      8 + 2 - 4 * 3
  c) Evaluate step by step:
      (* (+ 2 3) (- 2 5) )
      (+(- 2(* 3 4))(- 8(/ 9(+ 1 2))))

DAY 3
Intro

Miscelanery:
Grades: 
80% tests/projects/quizes
20%: Labs/HW 
I reserve the right to play with the numbers, purely with the intentions of helping students do better. (E.g. give an extra quiz if everyone does poorly)

Homework:
Deadlines are important.
Some of you are REALLY bad at them.
If you don't read directions, or hand things in on time, 

Goal: The hardware and software overview.
1 Physical Components
   CPU/MOBO/RAM/HDD
   I/O
   EXTRAS
2 What is software
   OS 
   Types of Software
3 This class is about problem solving. We write programs to solve those problems.

Start Prefix if needed. 

HW: 
a)Send an email about stuff. 
b)Research prefix notation


DAY 2
Intro
Goal: Computer! What is it good for? Absolutely nothing.
1. ACTIVITY: groups of 4 write step by step instructions
2. What is a program?
3. What languages?
4. Demo racket
4. HW: install and test racket. 

AP
1. I forgot to tell you about HW01

2. Diagram on board JVM/Byte Code

3. Demo 1st program in notepad
source file: HelloWorld.java
bytecode file: HelloWorld.class
interpreter: java
*Be careful what you type helloworld is not helloWorld is not HelloWorld is not HeLloWoRlD etc.

4. Demo Emacs

HW: 
-install java 7
-compile and run a basic hello world class using any plain text editor you choose. 

DAY 1 (After seating etc)

Regarding participation:

There is a deep, self-degrading personal toll of not raising a hand, of being indifferent or ashamed of not knowing, of being in a group and yet willing oneself not to participate. 

It is a practice of self-erasure. 

Every time one skulks behind indifference, one trains oneself not to know, not to be, not to be seen; one trains oneself into believing that not knowing the answer means you do not have a right to be heard. 

Don’t you realize that every time you don’t answer a question, you’re learning something? You’re learning how to make do with what you got, and you’re learning how not to ask for a raise…you’re learning how to take it. That’s not good! That’s not good! So, from now on, whenever I ask a question, everybody’s got to put their hand up. I don’t care whether you know the answer or not. You have to put your hand up…I’m going to call on you and if you don’t know the answer, I want you to say nice and clear: I don’t know the answer to that, but I would like to hear what that person has to say. And we’ll pass it on. And so this is what we started doing. And I said, whenever I ask a question, everybody put their hand up. I don’t care whether you know or not…You need to teach people they are important enough to say what they have to say.”

You can say what you know about the question.

You can say you don't understand a whole or part of the question.

You can say what you are thinking even if you know its not entirely in the right direction.




Expectations:
-Come in on time
-Complete Notes of what we talked about

Intro:
What is computer science? "Computer Science is the study of computers and computational systems." That doesn't help really understand.

Programming is a tool, it isn't computer science.
Not about computers: CS is about computers, just like astronomy is about telescopes.

software engineering, 
artificial intelligence, 
computer systems and networks, 
security, 
human computer interaction, 
vision (getting information from a picture),
graphics (creating a picture), 
numerical analysis, 
bioinformatics and theories of computing.

You’re in a cube all day staring at a screen. 
-False. Computers are still part of the job, because they are part of so many jobs. 

It’s basically math with a computer involved. No fun. 
-No.

It’s just for boys.
-Half of the students that won high honors in CS last year were girls.
CS is just for boys just like only women can be chefs...

Computer scientists are socially awkward. 
-No we’re not. Well, some are. You could say the same about every single other major out there. Why we were targeted with that one, I couldn’t tell you. We’re normal. I’m normal. NORMAL.

On a simple low level
Take an input -> Create an output 



AP:
You are taking up a seat. 
This is a difficult and fast paced course. We are selective enough to 

https://apstudent.collegeboard.org/apcourse/ap-computer-science-a

barron's ap computer science pdf

Why Java? -- Because of the AP
Why do people in industry use Java?

Java differences from other languages so far

Scheme : Interpreted Functional
Netlogo : Interpreted Procedural, Natively Graphical Environment
Python   : Interpreted Procedural
C :      Compiled, Procedural
C++ : Compiled, Procedural, Object Oriented
Java :  Partially Compiled + Interpreted, Object oriented 


Regarding homework01:
Enter your email and nickname. (I do not need your phone number)
Change your password so that it is more secure. Write it down in a secure location so that you can find it if you need it. (This is very insecure, but I am not worried about hackers trying to steal your HW server account)
 -You should use gmail because it is awesome. You can filter it, and forward it and make it do all kinds of things. 
 -You should check your email regularly, updates or hints to assignments, and other important info may be mailed out. 
 -If you want to forward the stuy.edu email address to your main account that is fine. 

Next Week:
-Computer Science Student Guide

DAY 0
seating etc.
Comments