1 / 36

Web Application Development and Advanced Web App Development

Web Application Development and Advanced Web App Development. CS1019/CS2012 Introduction. Why are you here?. Write answer down on piece of paper and discuss it with the person next to you. This course sets up your programming experience. Programming language Programming concepts

hova
Download Presentation

Web Application Development and Advanced Web App Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Application Development and Advanced Web App Development CS1019/CS2012 Introduction Bruce Scharlau, University of Aberdeen, 2012

  2. Why are you here? Write answer down on piece of paper and discuss it with the person next to you Bruce Scharlau, University of Aberdeen, 2012

  3. This course sets up your programming experience • Programming language • Programming concepts • Programming tools • Bootstrap you so that you know how to deal with unforeseen events Bruce Scharlau, University of Aberdeen, 2012

  4. The two course organisers • Nigel Beacham for Web App Development • BruceScharlau for Advanced Web App Dev Bruce Scharlau, University of Aberdeen, 2012

  5. Take control of your own learning • Lecturesonce a week • Practical sessions once a week • Coursework at regular times • Book list • Web sites Also course guides to help you - so read them first Bruce Scharlau, University of Aberdeen, 2012

  6. This week’s practical puts software on your laptop • Bring your laptop to this week’s practicals • There are often little problems to resolve, so install software ahead of time before proper practicals start next week. • Come and see how it’s done if you intend to install it on desktop at home • See what problems you may need to watch for when you do it on your own Bruce Scharlau, University of Aberdeen, 2012

  7. Use a virtual Linux machine We STRONGLY recommend you install a virtual Linux machine on your laptop if you’re on a Windows laptop Using a Linux box to learn Ruby programming will make your life easier and has proven to be a better practice by previous students Bruce Scharlau, University of Aberdeen, 2012

  8. Programming needs practice • You are expected to spend at least an hour a day working through examples to learn to program • You need time to become familiar with programming so that you understand how the examples work Bruce Scharlau, University of Aberdeen, 2012

  9. Programming needs practice • You are unlikely to pass the course, if you do not spend the time practicing examples Bruce Scharlau, University of Aberdeen, 2012

  10. There is no substitute for time at the keyboard • You need to practiceso that you assimilate the materials • This means you should do an hour of programming exercises each day –over and above classwork Time spent practicing now pays off with better course marks Bruce Scharlau, University of Aberdeen, 2012

  11. Bookmark and use the web sites MyAberdeen will have most everything you need • Recorded lectures • Quizes You can also find most materials at: http://homepages.abdn.ac.uk/b.scharlau/pages/teaching/CS5550/practicals/ Bruce Scharlau, University of Aberdeen, 2012

  12. Check Q & A in forums at MyAberdeen • Put questions in discussion forum on webCT and we and your classmates can answer them for you. • Everyone can see the answer. Bruce Scharlau, University of Aberdeen, 2012

  13. Use these books on the course • Hunt, Andy. Pragmatic Thinking and Learning: Refactor Your Wetware Pragmatic Bookshelf, 2008. For your learning • Ruby, Sam. Agile Web Development with Rails (4th edition), 2011.  Pragmatic Bookshelf. This is the latest edition and covers Rails 3. For Rails • Wynne, Matt and Hellesoy, Aslak. The Cucumber Book: Behaviour-Driven Development for Testers and Developers. January 2012 Pragmatic Bookshelf. For testing Ruby and Rails Links on website and MyAberdeen Bruce Scharlau, University of Aberdeen, 2012

  14. Use this software on the course Application/Library and version numbers • Ruby – Ruby 1.9.x • RubyGems – package installer • plus assorted gems as detailed elsewhere • Rails – Rails 3.0.x • Sqlite3 for the database • Git for version source control Bruce Scharlau, University of Aberdeen, 2012

  15. You also need a text editor • Text editor provides clean place to write programs. • Komodo Edit is free on all platforms • http://www.activestate.com/komodo_edit/ MS Word is NOT a text editor Bruce Scharlau, University of Aberdeen, 2012

  16. text editor is needed because … • It shows all of the characters in a file • A word processed file has many other characters in the file than are shown on the screen • Your program needs to only run what you give it Bruce Scharlau, University of Aberdeen, 2012

  17. Assessment work is important WAD • Assessment work accounts for 50% • A ruby one for 25% and a rails one for 25% • Exam counts for 50% of mark AWAD • Assessment work accounts for 100% • 20 weekly assignments, 30% on team assignment & 50% individual assignment Bruce Scharlau, University of Aberdeen, 2012

  18. Coursework is important • In order to pass the course you MUST submit assessments • You cannot rely upon only passing the exam Bruce Scharlau, University of Aberdeen, 2012

  19. Why study programming? • Because it's a combination of intelligent and creative work. • The pride of seeing your work used by other people. • Get paid to have fun. • Be able to program anywhere, anytime, with my choice of platform, programming language, and architecture. • http://www.ddj.com/architect/196603871 Bruce Scharlau, University of Aberdeen, 2012

  20. Agile development process • We’ll focus on agile development • http://agilemanifesto.org/ • Our concern is: incremental and iterative development • Do small steps often in other words Bruce Scharlau, University of Aberdeen, 2012

  21. Use software tests to support your code • We’ll also focus on writing tests for our code to check it does what it should • This provides a safety net so we know when we broke the app with our new code Bruce Scharlau, University of Aberdeen, 2012

  22. Let us know if there are problems • We rely upon YOU to give us feedback • Let us know what’s working well • Let us know what’s not working • Let us know where you’re having problems understanding something If you tell, us then we can do something. If you don’t tell us, then we don’t know. Bruce Scharlau, University of Aberdeen, 2012

  23. What is programming? • Write it down on page… • Share it with person next to you… Bruce Scharlau, University of Aberdeen, 2012

  24. ‘what is programming?’: answer • Telling the computer what to do • Warning: • (a) it follows your instructions, so if you get it wrong… • (b) if you leave out an instruction, then … Bruce Scharlau, University of Aberdeen, 2012

  25. We write programs to make instructions easier to maintain • Use programming language to make it easier for us • Computer only understand binary • 01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010 01110011 00100000 01101111 01101110 01101100 01111001 00100000 01110101 01101110 01100100 01100101 01110010 01110011 01110100 01100001 01101110 01100100 00100000 01100010 01101001 01101110 01100001 01110010 01111001 Bruce Scharlau, University of Aberdeen, 2012

  26. There are a lot of programming languages out there • Compiled languages • C, C++, Lisp, Visual Basic, others • Interpreted languages • Shell scripting such as bash, csh, and others • Interpreted languages PHP, JavaScript • Intermediate interpreted languages • Python, Ruby • Java and C# are first compiled to virtual machine code and then interpreted Bruce Scharlau, University of Aberdeen, 2012

  27. We’ll use Ruby • Public since 1995, same as Java • Hit massive growth with public release of Rails in Feb 2005 • Growing impact in programming world • http://en.wikipedia.org/wiki/Ruby_(programming_language • http://www.ruby-lang.org/en/ • http://en.wikipedia.org/wiki/Ruby_on_Rails • http://rubyonrails.org/ Bruce Scharlau, University of Aberdeen, 2012 http://en.wikipedia.org/wiki/File:Ruby_logo.svg

  28. Ruby offers lots of advantages • Easy to read • Object orientated, so easy to use • Objects, classes, methods • Less frustrating to use, so you make fewer errors • Runs on lots of platforms, and is free • Plenty of ‘extra’ libraries you can add for other features to cover math, graphics, etc Bruce Scharlau, University of Aberdeen, 2012

  29. Time for a demo • We need the following • Text editor to write program • Command line to run/execute the program Bruce Scharlau, University of Aberdeen, 2012

  30. We used strings and integers • Strings are between quotations marks • Integers are numbers • If we multiply strings then they are printed out that many times • Puts means ‘print string and add a new line’ Bruce Scharlau, University of Aberdeen, 2012

  31. Have a strategy to handle errors • Read the error message- there is often a clue there • Think through the steps you put in the code – sometimes you put the steps out of order • Google the error message – others will have probably also had the problem Bruce Scharlau, University of Aberdeen, 2012

  32. Variables are assigned values a = 23 name = ‘fred’ b = ‘twenty’ a = b • Variables are like labels on boxes, and some boxes have more than one label • So what’s the value of ‘a’ at the end? Bruce Scharlau, University of Aberdeen, 2012

  33. Assignment uses the = symbol Always assign the variable on the left with the value on the right a = 23 a = a+23 name = ‘fred ’ + a.to_s What’s the value of ‘a’? Bruce Scharlau, University of Aberdeen, 2012

  34. Use gets for keyboard input puts ‘what\’s your name?’ name = gets puts ‘Hello ‘ + name • Why is there a \ (backslash)? • Why is there a space after Hello? Bruce Scharlau, University of Aberdeen, 2012

  35. Also be developing web apps • You’ll be putting web apps online before the end of term • Start with basic Ruby first so that you understand what’s happening in Rails code Bruce Scharlau, University of Aberdeen, 2012

  36. Practice The DIT labs have all that you need to run Ruby so you can run through some of the exercises that are in any of the books Read first few chapters before the practical Also start reading the course guide Bruce Scharlau, University of Aberdeen, 2012

More Related