Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to the CSLP and the SELP

692 views

Published on

An introduction to the Computer Science Large Practical and the Software Engineering Large Practical

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

Introduction to the CSLP and the SELP

  1. 1. About Aims Time CSLP SELP Aim Developing Specifics Computer Science Large Practical and Software Engineering Large Practical Stephen Gilmore Friday 21st September, 2012 School of InformaticsComputer Science Large Practical and Software Engineering Large Practical 1 / 39
  2. 2. About Aims Time CSLP SELP Aim Developing Specifics About this lecture This is an introductory lecture explaining two of this year’s large practicals. Computer Science Large Practical (CSLP) — described here Software Engineering Large Practical (SELP) — described here Artificial Intelligence Large Practical (AILP) — described elsewhere These slides and a more detailed handout will be available from the course web pages after the lecture. http://www.inf.ed.ac.uk/teaching/courses/cslp/ http://www.inf.ed.ac.uk/teaching/courses/selp/ Please ask questions at any time.Computer Science Large Practical and Software Engineering Large Practical 2 / 39
  3. 3. About Aims Time CSLP SELP Aim Developing Specifics Restrictions The CSLP and the SELP are third-year undergraduate courses. They are only available to third-year undergraduate students. The CSLP and the SELP are not available to visiting undergraduate students, or to fourth-year undergraduate students and MSc students, who have their own individual projects. Third-year undergraduate students should choose at most one large practical, as allowed by their degree regulations. On most degrees a large practical is compulsory. On some degrees (typically combined Honours) you can do the System Design Project instead, or additionally. See the Degree Programme Tables (DPT) in the Degree Regulations and Programmes of Study (DRPS) for your degree for clarification. http://www.drps.ed.ac.uk/12-13/dpt/drps_inf.htmComputer Science Large Practical and Software Engineering Large Practical 3 / 39
  4. 4. About Aims Time CSLP SELP Aim Developing Specifics About these courses The CS and SE Large Practicals are individual programming projects. They run throughout the first semester. They are assessed by coursework only — no examination papers.Computer Science Large Practical and Software Engineering Large Practical 4 / 39
  5. 5. About Aims Time CSLP SELP Aim Developing Specifics How are these courses different from others? Because the large practicals are on a larger scale than the programming courseworks which you have done previously there is a set of requirements (rather than a specification); a design element to the course; and more scope for creativity. The large practicals try to prepare you for The System Design Project (in the second semester) The Individual Project (in fourth year).Computer Science Large Practical and Software Engineering Large Practical 5 / 39
  6. 6. About Aims Time CSLP SELP Aim Developing Specifics How much time should I spend? 100 hours, all in Semester 1, of which 8 hours lecture/demonstrating 92 hours practical work, of which 70 hours non-timetabled assessed assignments 22 hours private study/reading/otherComputer Science Large Practical and Software Engineering Large Practical 6 / 39
  7. 7. About Aims Time CSLP SELP Aim Developing Specifics How much time is that really? You can think of this as approximately one day per week in first semester. you work 7 hours in one day (9:00–5:00, say, with an hour for lunch) there are 13 weeks remaining in first semester (Week 2 to Week 14) 7 × 13 = 91 hoursComputer Science Large Practical and Software Engineering Large Practical 7 / 39
  8. 8. About Aims Time CSLP SELP Aim Developing Specifics Managing your time It is unlikely that you will want to arrange your work on your large practical as one day where you do nothing else, but one day per week all semester is the amount of work that you should do for the course.Computer Science Large Practical and Software Engineering Large Practical 8 / 39
  9. 9. About Aims Time CSLP SELP Aim Developing Specifics Scheduling work Course lecturers have been asked not to let deadlines overlap Weeks 11–14 because students are expected to be concentrating on their large practical in that time.Computer Science Large Practical and Software Engineering Large Practical 9 / 39
  10. 10. About Aims Time CSLP SELP Aim Developing Specifics Deadlines The CS and SE Large Practicals are in two parts: Part 1 Thursday 25th October, 2012 at 16:00 Part 2 Thursday 20th December, 2012 at 16:00 Part 1 is zero-weighted: it is just for feedback. Part 2 is worth 100% of the marks.Computer Science Large Practical and Software Engineering Large Practical 10 / 39
  11. 11. About Aims Time CSLP SELP Aim Developing Specifics Scheduling work It is not necessary to keep working on the project right up to the deadline. For example, if you are travelling home for Christmas you might wish to submit the project early. In this case you need to ensure that you start the project early. The coursework handin is electronic so it is possible to submit remotely.Computer Science Large Practical and Software Engineering Large Practical 11 / 39
  12. 12. About Aims Time CSLP SELP Aim Developing Specifics Early submission credit In order to motivate good project management, planning, and efficient software development, the CSLP and the SELP reserve marks above 90% for work which is submitted early (specifically, one week before the deadline for Part 2). Work submitted less than a week before the deadline does not qualify as an early submission, and the mark for this work will be capped at 90%. Thus, the mark may be 90%, but it may not be higher than this. Regardless of when it is submitted, every submission is assessed in exactly the same way, but submissions which attract a mark of above 90% which were not submitted early have this mark brought down to 90%.Computer Science Large Practical and Software Engineering Large Practical 12 / 39
  13. 13. About Aims Time CSLP SELP Aim Developing Specifics The Computer Science Large PracticalComputer Science Large Practical and Software Engineering Large Practical 13 / 39
  14. 14. About Aims Time CSLP SELP Aim Developing Specifics The Computer Science Large Practical The requirement for the Computer Science Large Practical is to create an command-line application implemented in Objective-C. The purpose of the application is to implement a stochastic discrete-event simulator for chemical reactions.Computer Science Large Practical and Software Engineering Large Practical 14 / 39
  15. 15. About Aims Time CSLP SELP Aim Developing Specifics Why simulation? Stochastic simulation is an important tool to help understand the chemical and biochemical processes which are constantly underway in all living things. Simulation is leading the way in scientific breakthroughs in medicine, farming and veterinary science, with demonstrable benefits for the health and wellbeing of humans, plants and animals. Simulation is important in many other fields also, such as aerospace, aviation, transport, logistics, healthcare, and many others.Computer Science Large Practical and Software Engineering Large Practical 15 / 39
  16. 16. About Aims Time CSLP SELP Aim Developing Specifics Why Objective-C? Learning a new programming language deepens our understanding of computer science. Using Objective-C exposes us to concepts which we would not see in Java or Haskell. Increases your employability by adding another programming language to your CV. Objective-C is becoming more popular so we can keep up with trends in programming languages.Computer Science Large Practical and Software Engineering Large Practical 16 / 39
  17. 17. About Aims Time CSLP SELP Aim Developing Specifics The Objective-C Programming Language By some measures of programming language popularity, Objective-C is thought to be the world’s third most popular programming language (behind C and Java, just ahead of C++).Computer Science Large Practical and Software Engineering Large Practical 17 / 39
  18. 18. About Aims Time CSLP SELP Aim Developing Specifics How do we simulate chemical reactions? Chemical reactions change the concentration of chemical species such as proteins because molecules are created, altered, combined, broken apart, or destroyed. • + • → • — red and yellow make an orange molecule • → • + • — an orange molecule breaks into a red and a yellow • → — a blue molecule is destroyed → • — a green molecule is created The simulation of these processes takes place one reaction event at a time. The simulation tracks the number of molecules of each species and terminates when no other reaction can fire, or when a pre-defined simulation end-time has been reached.Computer Science Large Practical and Software Engineering Large Practical 18 / 39
  19. 19. About Aims Time CSLP SELP Aim Developing Specifics What should the simulator do? Your simulator should convert a reaction script into a time-series output expressed as a comma-separated value file with a header which identifies the species in each column of the output. # t X # simulate to a stop-time of 10 seconds 0.00, 100 t = 10 0.01, 98 0.02, 97 # decay reaction rate d is 1 0.03, 96 d = 1.0 0.04, 95 Your simulator 0.05, 95 # 100 molecules of X initially ⇒ written in ⇒ 0.06, 93 X = 100 Objective-C 0.07, 91 0.08, 90 # X decays to nothing, or disappears . . d : X -> . . . . model.txt model.csvComputer Science Large Practical and Software Engineering Large Practical 19 / 39
  20. 20. About Aims Time CSLP SELP Aim Developing Specifics Computer Science Large Practical Computer Science Large Practical 2012/2013 Professor Stephen Gilmore School of Informatics Issued on: Friday 21st September, 2012 Introduction The requirement for the Computer Science Large Practical is to create an command-line appli- cation implemented in Objective-C. The purpose of the application is to implement a stochastic discrete-event simulator for chemical reactions. — Full coursework description available today at — Stochastic simulation is an important tool to help understand the chemical and biochemical processes which are constantly underway in all living things. Simulation is leading the way in scientific breakthroughs in medicine, farming and veterinary science, with demonstrable benefits http://www.inf.ed.ac.uk/teaching/ for the health and wellbeing of humans, plants and animals. Simulation is important in many other fields also, such as aerospace, transport, logistics, healthcare, and many others. — — courses/cslp/ Chemical reactions change the concentration of chemical species such as proteins because molecules are created, altered, combined, broken apart, or destroyed. The simulation of these processes takes place one reaction event at a time. The simulation tracks the number of molecules of each species and terminates when no other reaction can fire, or when a pre-defined simulation end-time has been reached. — — We are concerned here with exact stochastic simulation, in which each reaction event is sim- ulated. Other stochastic simulation algorithms exist, called approximate simulation algorithms. These estimate the effect of numerous reaction events in order to speed up a simulation, but we will not be concerned with these here. — — Reaction events change one chemical species into another. For example, the reaction event f , f :E+S →C describes a collision between a molecule of enzyme (E) and a molecule of substrate (S) to produce a molecule of a compound (C). We write E + S to mean “E and S”, not “E plus S”. 1Computer Science Large Practical and Software Engineering Large Practical 20 / 39
  21. 21. About Aims Time CSLP SELP Aim Developing Specifics The Software Engineering Large PracticalComputer Science Large Practical and Software Engineering Large Practical 21 / 39
  22. 22. About Aims Time CSLP SELP Aim Developing Specifics The Software Engineering Large Practical The requirement for the Software Engineering Large Practical is to create an app implemented in Java and XML for the Android phone. The purpose of the app is to develop a prototype system to help students to decide who they should vote for in student elections.Computer Science Large Practical and Software Engineering Large Practical 22 / 39
  23. 23. About Aims Time CSLP SELP Aim Developing Specifics How will we test this? You might not have an Android phone, but that’s OK. We will use an Eclipse-based emulator to run our code. The emulator runs on Windows, Linux, Ubuntu and Mac OS X.Computer Science Large Practical and Software Engineering Large Practical 23 / 39
  24. 24. About Aims Time CSLP SELP Aim Developing Specifics Android development with EclipseComputer Science Large Practical and Software Engineering Large Practical 24 / 39
  25. 25. About Aims Time CSLP SELP Aim Developing Specifics The Android emulatorComputer Science Large Practical and Software Engineering Large Practical 25 / 39
  26. 26. About Aims Time CSLP SELP Aim Developing Specifics Industrial relevance of the SELP Employers like to see evidence of practical skills acquisition, and use of state-of-the-art tools. The Software Engineering Large Practical uses the state-of-the-art Android Development Toolkit in Eclipse, as used by professional developers targeting the Android phone.Computer Science Large Practical and Software Engineering Large Practical 26 / 39
  27. 27. About Aims Time CSLP SELP Aim Developing Specifics Smartphone sales More smartphones sold in the UK run the Android operating system than any other OS.Computer Science Large Practical and Software Engineering Large Practical 27 / 39
  28. 28. About Aims Time CSLP SELP Aim Developing Specifics Smartphone sales worldwideComputer Science Large Practical and Software Engineering Large Practical 28 / 39
  29. 29. About Aims Time CSLP SELP Aim Developing Specifics Smartphone sales worldwideComputer Science Large Practical and Software Engineering Large Practical 29 / 39
  30. 30. About Aims Time CSLP SELP Aim Developing Specifics What is the app to do? In a student election, candidates nominate themselves for an office. For EUSA, these offices include President, Vice President (Academic Affairs), Vice President (Societies and Activities), Vice President (Services), and others. Candidates reflect on the issues which are important to them and make promises to the student body on what they will do about these issues if elected to office. Candidates can submit photographs of themselves and election statements explaining what they want to achieve in the hope of persuading people to vote for them.Computer Science Large Practical and Software Engineering Large Practical 30 / 39
  31. 31. About Aims Time CSLP SELP Aim Developing Specifics What is the app to do? In addition to their online materials, candidates make and display posters to publicise their campaign. These are displayed on lamp posts, railings and hoardings in Bristo Square, George Square and at the West Mains entrance to King’s Buildings. Although student elections are important, and the correct procedure should be followed to ensure fair and transparent elections, the printing and hanging of hundreds of posters in public spaces around Edinburgh has been criticised recently as being environmentally unfriendly, aesthetically unpleasing, and somewhat old-fashioned.Computer Science Large Practical and Software Engineering Large Practical 31 / 39
  32. 32. About Aims Time CSLP SELP Aim Developing Specifics The problem: aesthetically unpleasingComputer Science Large Practical and Software Engineering Large Practical 32 / 39
  33. 33. About Aims Time CSLP SELP Aim Developing Specifics The problem: environmentally unfriendlyComputer Science Large Practical and Software Engineering Large Practical 33 / 39
  34. 34. About Aims Time CSLP SELP Aim Developing Specifics The problem: old-fashionedComputer Science Large Practical and Software Engineering Large Practical 34 / 39
  35. 35. About Aims Time CSLP SELP Aim Developing Specifics Another problem: securityComputer Science Large Practical and Software Engineering Large Practical 35 / 39
  36. 36. About Aims Time CSLP SELP Aim Developing Specifics Another problem: securityComputer Science Large Practical and Software Engineering Large Practical 36 / 39
  37. 37. About Aims Time CSLP SELP Aim Developing Specifics The solution: an Android app The information on candidates is obtained by download of an XML document. Users of the app should be able to rate election candidates on a scale from zero to five stars and, if they are certain not to vote for them, to delete candidates entirely. When the user has decided who to vote for they can use the app to send a private email and a public tweet.Computer Science Large Practical and Software Engineering Large Practical 37 / 39
  38. 38. About Aims Time CSLP SELP Aim Developing Specifics Software Engineering Large Practical Software Engineering Large Practical 2012/2013 Professor Stephen Gilmore School of Informatics Issued on: Friday 21st September, 2012 Introduction The requirement for the Software Engineering Large Practical is to create an app implemented in Java and XML for the Android phone. The purpose of the app is to develop a prototype system to help students to decide who they should vote for in student elections. — Full coursework description available today at — In a student election, candidates nominate themselves for an office. For EUSA, these offices include President, Vice President (Academic Affairs), Vice President (Societies and Activities), http://www.inf.ed.ac.uk/teaching/ Vice President (Services), and others. Candidates reflect on the issues which are important to them and make promises to the student body on what they will do about these issues if elected to office. Candidates can submit photographs of themselves and election statements explaining what they want to achieve in the hope of persuading people to vote for them. courses/selp/ • Photographs are made available in JPEG format with a maximum size of 2Mb. Images are at a resolution of 120 pixels wide by 150 pixels high. • The number of words allowed in the election statement varies by office but is never more than 450 words. The photograph and statement are made available on the election website. — — In addition to their online materials, candidates make and display posters to publicise their campaign. These are displayed on lamp posts, railings and hoardings in Bristo Square, George Square and at the West Mains entrance to King’s Buildings. Although student elections are important, and the correct procedure should be followed to ensure fair and transparent elections, the printing and hanging of hundreds of posters in public spaces around Edinburgh has been criticised recently as being environmentally unfriendly, aesthetically unpleasing, and somewhat old-fashioned. 1Computer Science Large Practical and Software Engineering Large Practical 38 / 39
  39. 39. About Aims Time CSLP SELP Aim Developing Specifics Questions? Ask now or email Stephen.Gilmore@ed.ac.ukComputer Science Large Practical and Software Engineering Large Practical 39 / 39

×