cs320n – elements of visual programming course introduction mike scott
TRANSCRIPT
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
Visual Programming Course Introduction 3
What We Will Do Today• Discuss course content, syllabus, and tools
• demos of course software
Visual Programming Course Introduction 4
Administrative Information• class web site:
www.cs.utexas.edu/~scottm/cs320n
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.”
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
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
Visual Programming Course Introduction 8
Books
• Learning to Program with Alice, Second Edition.
• ISBN 10: 013208516X, ISBN 13: 978-0132085168
• Publisher: Prentice Hall
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
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?
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.
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()]); }
Visual Programming Course Introduction 13
Eww!!
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)
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
Visual Programming Course Introduction 16
An Alice Program
Visual Programming Course Introduction 17
LabVIEW Program
Visual Programming Course Introduction 18
Demos