cs320n – elements of visual programming course introduction mike scott

18
CS320n – Elements of Visual Programming Course Introduction Mike Scott

Upload: jordan-pitts

Post on 13-Dec-2015

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CS320n – Elements of Visual Programming Course Introduction Mike Scott

CS320n – Elements of Visual Programming

Course Introduction

Mike Scott

Page 2: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 2

Who Am I• Lecturer in CS department since 2000

• Undergrad Stanford, MSCS RPI

• US Navy for 8 years, submarines

• 2 years Round Rock High School

• Wife (Kelly) is a nurse. 2 daughters, Olivia and Isabelle

Page 3: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 3

What We Will Do Today• Discuss course content, syllabus, and tools

• demos of course software

Page 4: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 4

Administrative Information• class web site:

www.cs.utexas.edu/~scottm/cs320n

Page 5: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 5

What Will We Do in CS320n• Have Fun?!?!

• Learn to write computer programs using Alice and LabVIEW

• Okay if you “Never ever-ed.”

Page 6: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 6

How This Class Will Work• In class

– lecture and lab work– demos– answers your questions

• Outside of class– exercises (not graded)– reading– assignments

Page 7: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 7

Grading• Homework Projects ~ 50%

– 6 Alice projects– 3 LabVIEW projects– Point value varies per project– some done as individuals, some as pairs– in class presentations of 2 projects– projects are to be your own work! Copying or having

someone else do them is academic dishonesty and will result in an F in the course

• Attendance and Class work, ~ 10%• Midterm ~ 20%• Final ~ 20%, last week of class

Page 8: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 8

Books

• Learning to Program with Alice, Second Edition.

• ISBN 10: 013208516X, ISBN 13: 978-0132085168

• Publisher: Prentice Hall

Page 9: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 9

Homework Procedures• Your must obtain an account for the CS

department Elements Lab• Visit this website to request account• http://www.cs.utexas.edu/facilities/computing/

– takes at least a day for account to become active.– do this today, please!

• account allows you to use computers in CS Microlab in Painter Hall and to turn in programs to an account on Elements lab server– software used in course is available and FREE, so

you can work at home if you prefer

Page 10: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 10

What is Visual Programming?• What is a computer program?

– Do you use many programs?– Have you ever written a program?

• What skills are necessary for programming?

Page 11: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 11

Programming and Computing• NY Times Article by Steve Lohr

• http://www.nytimes.com/2005/08/23/technology/23geeks.html

• Jamika Burge, a computer grad student at Virginia Tech, logging video of conflict negotiations during her internship at I.B.M. in San Jose.

Page 12: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 12

Text Based Programming private String[] getWordList() { Scanner s; String temp; JFileChooser chooser = new JFileChooser(); TreeSet<String> words = new TreeSet<String>(); //open the file chooser and get a file int retval = chooser.showOpenDialog(null); chooser.grabFocus(); if (retval == JFileChooser.APPROVE_OPTION) { File source = chooser.getSelectedFile(); try { s = new Scanner( source ); while( s.hasNext() ) { temp = s.next(); if( temp != null && temp.length() == WORD_SIZE ) { words.add( temp ); } } s.close(); } catch(IOException e) { System.out.println("An error occured while trying “ +

“to read from the file: " + e); } }

return words.toArray(new String[words.size()]); }

Page 13: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 13

Eww!!

Page 14: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 14

Visual Programming• Use of a graphical interface to create the

program instead of text– easier with simple programs– less likely to make mistakes– Visual Basic, Visual C#, Visual C++

• visual tool for creating graphical user interface (GUI), but lots of text based programming still required

• IEEE has an annual conference on Visual Languages/Human Centric Computing (VL/HCC)

Page 15: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 15

Visual Programming• Lots of true Visual Languages

– VIPR, Self, Pygmalion, Prograph and many, many more

– not a lot of commercial successes

• Exception: LabVIEW

• An educational language and tool called Alice

Page 16: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 16

An Alice Program

Page 17: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 17

LabVIEW Program

Page 18: CS320n – Elements of Visual Programming Course Introduction Mike Scott

Visual Programming Course Introduction 18

Demos