Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such...

11
Newbie Programming for Dummies (Or highly inexperienced experts)

Transcript of Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such...

Page 1: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

Newbie

Programming for Dummies (Or highly inexperienced experts)

Page 2: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

Who are We?

Clyde Bazile John Anukem Sebastien Siclait Braxton Gunter Terence Jacobs

Page 3: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

Why Newbie?

Page 4: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

What can a Newbie do?

➔ Comment# I’m such a noob

# enter code below

➔ Operate# Hi my name is newbie

set x to 10set y to xset operators to “+, - ,*, /, ^, %.”print(operators)

➔ Infer# Hi my name is newbie

set x to 10 # type x: intset y to “hello” # type y: string

Page 5: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

1 define function plus_10 with params (a, b)2 set c to 9 + 13 return a + b + c45 define function main with no params6 set x to 17 set y to 18 set out to plus_10(x, y)

Syntax

Page 6: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

input.n00b

codegen.ml

scanner.ml

parser.mly

semant.ml

Newbie Architecture

Page 7: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

Language Features- Easy syntax makes for simple

implementation of algorithms - Types:

- Num- String- Bool

- Control Flow- If, Else, While, For

- Lists/Type Conversion/Coercion

Page 8: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

NoobTesting

Page 9: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

Lessons Learned

- Start early……. very early. - Don’t underestimate how long something

will take, even if you think it’ll be easy. - Every line of OCaml counts….. EVERY

LINE - If you fail to test, your tests will fail.

Page 10: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

Future Work

- Implementing more builtin classes with C.

- More builtin functions to handle walk through of staple algorithms

Page 11: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x

DEMO