CS320n – Elements of Visual Programming Course Introduction Mike Scott 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 2 What We Will Do Today • Discuss course content, syllabus, and tools • demos of course software Visual Programming Course Introduction 3 Administrative Information • class web site: www.cs.utexas.edu/~scottm/cs320n Visual Programming Course Introduction 4 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 5 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 6 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 7 Books • Learning to Program with Alice, Second Edition. • ISBN 10: 013208516X, ISBN 13: 978-0132085168 • Publisher: Prentice Hall Visual Programming Course Introduction 8 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 9 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 10 Programming and Computing • NY Times Article by Steve Lohr • http://www.nytimes.com/2005/08/23/technol ogy/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 11 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 12 Eww!! Visual Programming Course Introduction 13 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 14 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 15 An Alice Program Visual Programming Course Introduction 16 LabVIEW Program Visual Programming Course Introduction 17 Demos Visual Programming Course Introduction 18