SlideShare a Scribd company logo
1 of 39
Download to read offline
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 Informatics




Computer Science Large Practical and Software Engineering Large Practical                                  1 / 39
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
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.htm



Computer Science Large Practical and Software Engineering Large Practical                          3 / 39
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
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
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/other




Computer Science Large Practical and Software Engineering Large Practical                          6 / 39
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 hours




Computer Science Large Practical and Software Engineering Large Practical                          7 / 39
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
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
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
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
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
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics




                The Computer Science Large Practical




Computer Science Large Practical and Software Engineering Large Practical                         13 / 39
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
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
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
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
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
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.csv




Computer Science Large Practical and Software Engineering Large Practical                                      19 / 39
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”.

                                                               1




Computer Science Large Practical and Software Engineering Large Practical                                                                      20 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics




              The Software Engineering Large Practical




Computer Science Large Practical and Software Engineering Large Practical                         21 / 39
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
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
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         Android development with Eclipse




Computer Science Large Practical and Software Engineering Large Practical                         24 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         The Android emulator




Computer Science Large Practical and Software Engineering Large Practical                         25 / 39
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
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
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         Smartphone sales worldwide




Computer Science Large Practical and Software Engineering Large Practical                         28 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         Smartphone sales worldwide




Computer Science Large Practical and Software Engineering Large Practical                         29 / 39
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
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
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         The problem: aesthetically unpleasing




Computer Science Large Practical and Software Engineering Large Practical                         32 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         The problem: environmentally unfriendly




Computer Science Large Practical and Software Engineering Large Practical                         33 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         The problem: old-fashioned




Computer Science Large Practical and Software Engineering Large Practical                         34 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         Another problem: security




Computer Science Large Practical and Software Engineering Large Practical                         35 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         Another problem: security




Computer Science Large Practical and Software Engineering Large Practical                         36 / 39
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
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.


                                                               1




Computer Science Large Practical and Software Engineering Large Practical                                                                       38 / 39
About           Aims            Time           CSLP            SELP        Aim   Developing   Specifics


         Questions?




         Ask now or email Stephen.Gilmore@ed.ac.uk




Computer Science Large Practical and Software Engineering Large Practical                         39 / 39

More Related Content

Viewers also liked

Call Wave Corporate Governance Nominating Committee Charter
Call Wave Corporate Governance Nominating Committee CharterCall Wave Corporate Governance Nominating Committee Charter
Call Wave Corporate Governance Nominating Committee CharterManya Mohan
 
Assignment #9: Tactics
Assignment #9: TacticsAssignment #9: Tactics
Assignment #9: TacticsJoão Ramos
 
Apresentação Mister Colibri
Apresentação Mister ColibriApresentação Mister Colibri
Apresentação Mister Colibrivictornery
 
Information Victoria - online developments for and with citizens
Information Victoria - online developments for and with citizensInformation Victoria - online developments for and with citizens
Information Victoria - online developments for and with citizenseGovernment Resource Centre
 
ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2
ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2
ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2siriporn pongvinyoo
 

Viewers also liked (7)

Call Wave Corporate Governance Nominating Committee Charter
Call Wave Corporate Governance Nominating Committee CharterCall Wave Corporate Governance Nominating Committee Charter
Call Wave Corporate Governance Nominating Committee Charter
 
Assignment #9: Tactics
Assignment #9: TacticsAssignment #9: Tactics
Assignment #9: Tactics
 
Apresentação Mister Colibri
Apresentação Mister ColibriApresentação Mister Colibri
Apresentação Mister Colibri
 
Information Victoria - online developments for and with citizens
Information Victoria - online developments for and with citizensInformation Victoria - online developments for and with citizens
Information Victoria - online developments for and with citizens
 
Service SA - Channel Management
Service SA - Channel ManagementService SA - Channel Management
Service SA - Channel Management
 
ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2
ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2
ข้าราชการพลเรือนสามัญสาย IT ตอนที่ 2
 
Poema
PoemaPoema
Poema
 

Similar to Introduction to the CSLP and the SELP

Developing project objectives and Execution plan in Economy management
Developing project objectives and Execution plan in Economy management Developing project objectives and Execution plan in Economy management
Developing project objectives and Execution plan in Economy management Nzar Braim
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdfaustdali
 
SDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdf
SDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdfSDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdf
SDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdfpriyanshuurkade
 
Pg certificate
Pg certificatePg certificate
Pg certificatedkhari
 
Computation Lab 03 19 09 Olin
Computation Lab 03 19 09 OlinComputation Lab 03 19 09 Olin
Computation Lab 03 19 09 Olinbchar
 
Small team scrum and kanban
Small team scrum and kanbanSmall team scrum and kanban
Small team scrum and kanbanDavid Daniel
 
Computer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectivesComputer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectivesJawad Khan
 
Pmo, project objectives and project life cycles
Pmo, project objectives and project life cyclesPmo, project objectives and project life cycles
Pmo, project objectives and project life cyclesSoftServe
 
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...ciyamala kushbu
 
Obc 2011
Obc 2011Obc 2011
Obc 2011obepsp
 
CSE202.pptx
CSE202.pptxCSE202.pptx
CSE202.pptxJoyBoy45
 
Why Scrum Why Now
Why Scrum Why NowWhy Scrum Why Now
Why Scrum Why Nowmtoppa
 

Similar to Introduction to the CSLP and the SELP (20)

Brochure curriculum (1)
Brochure curriculum (1)Brochure curriculum (1)
Brochure curriculum (1)
 
4 Scheduling Monitoring
4 Scheduling Monitoring4 Scheduling Monitoring
4 Scheduling Monitoring
 
Developing project objectives and Execution plan in Economy management
Developing project objectives and Execution plan in Economy management Developing project objectives and Execution plan in Economy management
Developing project objectives and Execution plan in Economy management
 
Software Mangineeringment
Software MangineeringmentSoftware Mangineeringment
Software Mangineeringment
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdf
 
Final prescription vs prediction
Final prescription vs predictionFinal prescription vs prediction
Final prescription vs prediction
 
SDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdf
SDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdfSDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdf
SDL-LAB-MANUAL-CS606-common-for-all-the-faculties.pdf
 
Xp methadology
Xp methadologyXp methadology
Xp methadology
 
Pg certificate
Pg certificatePg certificate
Pg certificate
 
Resume
ResumeResume
Resume
 
Computation Lab 03 19 09 Olin
Computation Lab 03 19 09 OlinComputation Lab 03 19 09 Olin
Computation Lab 03 19 09 Olin
 
Small team scrum and kanban
Small team scrum and kanbanSmall team scrum and kanban
Small team scrum and kanban
 
Computer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectivesComputer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectives
 
Pmo, project objectives and project life cycles
Pmo, project objectives and project life cyclesPmo, project objectives and project life cycles
Pmo, project objectives and project life cycles
 
Scheduling
SchedulingScheduling
Scheduling
 
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
 
Obc 2011
Obc 2011Obc 2011
Obc 2011
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
CSE202.pptx
CSE202.pptxCSE202.pptx
CSE202.pptx
 
Why Scrum Why Now
Why Scrum Why NowWhy Scrum Why Now
Why Scrum Why Now
 

More from Stephen Gilmore

Feedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLPFeedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLPStephen Gilmore
 
Feedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large PracticalFeedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large PracticalStephen Gilmore
 
More Stochastic Simulation Examples
More Stochastic Simulation ExamplesMore Stochastic Simulation Examples
More Stochastic Simulation ExamplesStephen Gilmore
 
Testing Android apps with Robotium
Testing Android apps with RobotiumTesting Android apps with Robotium
Testing Android apps with RobotiumStephen Gilmore
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with AndroidStephen Gilmore
 
Quick quiz on Objective-C
Quick quiz on Objective-CQuick quiz on Objective-C
Quick quiz on Objective-CStephen Gilmore
 
Getting started with Xcode
Getting started with XcodeGetting started with Xcode
Getting started with XcodeStephen Gilmore
 
Working with databases in Android
Working with databases in AndroidWorking with databases in Android
Working with databases in AndroidStephen Gilmore
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-CStephen Gilmore
 
SELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and ManifestsSELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and ManifestsStephen Gilmore
 
The Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmThe Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmStephen Gilmore
 
Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android DevelopmentStephen Gilmore
 
Computer Science Large Practical coursework
Computer Science Large Practical courseworkComputer Science Large Practical coursework
Computer Science Large Practical courseworkStephen Gilmore
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical courseworkStephen Gilmore
 
Fixing errors in Android Java applications
Fixing errors in Android Java applicationsFixing errors in Android Java applications
Fixing errors in Android Java applicationsStephen Gilmore
 
Feedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalFeedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalStephen Gilmore
 
Creating and working with databases in Android
Creating and working with databases in AndroidCreating and working with databases in Android
Creating and working with databases in AndroidStephen Gilmore
 
Continuing Android development
Continuing Android developmentContinuing Android development
Continuing Android developmentStephen Gilmore
 
Project management for the individual practical
Project management for the individual practicalProject management for the individual practical
Project management for the individual practicalStephen Gilmore
 

More from Stephen Gilmore (20)

Feedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLPFeedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLP
 
Feedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large PracticalFeedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large Practical
 
Arrays in Objective-C
Arrays in Objective-CArrays in Objective-C
Arrays in Objective-C
 
More Stochastic Simulation Examples
More Stochastic Simulation ExamplesMore Stochastic Simulation Examples
More Stochastic Simulation Examples
 
Testing Android apps with Robotium
Testing Android apps with RobotiumTesting Android apps with Robotium
Testing Android apps with Robotium
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with Android
 
Quick quiz on Objective-C
Quick quiz on Objective-CQuick quiz on Objective-C
Quick quiz on Objective-C
 
Getting started with Xcode
Getting started with XcodeGetting started with Xcode
Getting started with Xcode
 
Working with databases in Android
Working with databases in AndroidWorking with databases in Android
Working with databases in Android
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-C
 
SELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and ManifestsSELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and Manifests
 
The Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmThe Stochastic Simulation Algorithm
The Stochastic Simulation Algorithm
 
Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android Development
 
Computer Science Large Practical coursework
Computer Science Large Practical courseworkComputer Science Large Practical coursework
Computer Science Large Practical coursework
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical coursework
 
Fixing errors in Android Java applications
Fixing errors in Android Java applicationsFixing errors in Android Java applications
Fixing errors in Android Java applications
 
Feedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalFeedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual Practical
 
Creating and working with databases in Android
Creating and working with databases in AndroidCreating and working with databases in Android
Creating and working with databases in Android
 
Continuing Android development
Continuing Android developmentContinuing Android development
Continuing Android development
 
Project management for the individual practical
Project management for the individual practicalProject management for the individual practical
Project management for the individual practical
 

Recently uploaded

Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 

Recently uploaded (20)

Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 

Introduction to the CSLP and the SELP

  • 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 Informatics Computer Science Large Practical and Software Engineering Large Practical 1 / 39
  • 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. 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.htm Computer Science Large Practical and Software Engineering Large Practical 3 / 39
  • 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. 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. 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/other Computer Science Large Practical and Software Engineering Large Practical 6 / 39
  • 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 hours Computer Science Large Practical and Software Engineering Large Practical 7 / 39
  • 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. 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. 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. 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. 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. About Aims Time CSLP SELP Aim Developing Specifics The Computer Science Large Practical Computer Science Large Practical and Software Engineering Large Practical 13 / 39
  • 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. 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. 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. 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. 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. 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.csv Computer Science Large Practical and Software Engineering Large Practical 19 / 39
  • 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”. 1 Computer Science Large Practical and Software Engineering Large Practical 20 / 39
  • 21. About Aims Time CSLP SELP Aim Developing Specifics The Software Engineering Large Practical Computer Science Large Practical and Software Engineering Large Practical 21 / 39
  • 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. 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. About Aims Time CSLP SELP Aim Developing Specifics Android development with Eclipse Computer Science Large Practical and Software Engineering Large Practical 24 / 39
  • 25. About Aims Time CSLP SELP Aim Developing Specifics The Android emulator Computer Science Large Practical and Software Engineering Large Practical 25 / 39
  • 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. 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. About Aims Time CSLP SELP Aim Developing Specifics Smartphone sales worldwide Computer Science Large Practical and Software Engineering Large Practical 28 / 39
  • 29. About Aims Time CSLP SELP Aim Developing Specifics Smartphone sales worldwide Computer Science Large Practical and Software Engineering Large Practical 29 / 39
  • 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. 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. About Aims Time CSLP SELP Aim Developing Specifics The problem: aesthetically unpleasing Computer Science Large Practical and Software Engineering Large Practical 32 / 39
  • 33. About Aims Time CSLP SELP Aim Developing Specifics The problem: environmentally unfriendly Computer Science Large Practical and Software Engineering Large Practical 33 / 39
  • 34. About Aims Time CSLP SELP Aim Developing Specifics The problem: old-fashioned Computer Science Large Practical and Software Engineering Large Practical 34 / 39
  • 35. About Aims Time CSLP SELP Aim Developing Specifics Another problem: security Computer Science Large Practical and Software Engineering Large Practical 35 / 39
  • 36. About Aims Time CSLP SELP Aim Developing Specifics Another problem: security Computer Science Large Practical and Software Engineering Large Practical 36 / 39
  • 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. 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. 1 Computer Science Large Practical and Software Engineering Large Practical 38 / 39
  • 39. About Aims Time CSLP SELP Aim Developing Specifics Questions? Ask now or email Stephen.Gilmore@ed.ac.uk Computer Science Large Practical and Software Engineering Large Practical 39 / 39