pro rojects cts
play

Pro rojects cts Introductory Lectures / Quizzes: 2 HP Python - PDF document

9/6/2016 TD TDDD63 63: Pro rojects cts Introductory Lectures / Quizzes: 2 HP Python Programming Project : 5 HP jonas.kvarnstrom@liu.se 2016 jonkv@ida jonkv@ida Proje oject ct: : Why? 2 2 Why a programming project? Direct


  1. 9/6/2016 TD TDDD63 63: Pro rojects cts Introductory Lectures / Quizzes: 2 HP Python Programming Project : 5 HP jonas.kvarnstrom@liu.se – 2016 jonkv@ida jonkv@ida Proje oject ct: : Why? 2 2 Why a programming project?  Direct hands-on programming experience early in your education ▪ Don’t wait to learn everything and then apply it  A chance to create something larger ▪ Not just a sequence of short lab exercises illustrating specific topics  A chance to practice working independently ▪ Y ou are at the university now! ▪ Take personal responsibility for what you do and what you learn 1

  2. 9/6/2016 jonkv@ida jonkv@ida Proje oject ct: : Now? 3 3 We expect you to …  Dive head first into the world of programming!  Spend a great deal of time on your project: Work hard , write a lot of code  Try different approaches, solve a lot of problems  Make mistakes : There is much you haven’t learned yet  Learn as much as possible from the mistakes,  and show us what you learned! 2

  3. 9/6/2016 jonkv@ida jonkv@ida Project ect: : Prefer ferenc ences es 5 5 Five distinct project types P1 P2 P3 P4 P5  For each project type :  Extensive instructions on the web  One assistant taking care of day-to-day issues Names on the course web pages!  One senior person making the ultimate decisions jonkv@ida jonkv@ida Project ect: : Prefer ferenc ences es 6 6 Tell us your preferred project usingWebReg We take your preferences into consideration, but no guarantees (group size limits!) 3

  4. 9/6/2016 jonkv@ida jonkv@ida Proje oject ct: : Group up Assignment ignment 7 7  We randomly generate project groups of 3 students Professionalism: P1 P2 P3 Work with the people you are assigned to #4 #4 #4 #1 #3 #1 #3 #1 #3 #6 #7 #6 #7 #6 #7 #2 #2 #2 #5 #5 #5 #8 #8 #8 #9 #9 #9 Game: e: Captur turethe Flag ag 4

  5. 9/6/2016 jonkv@ida jonkv@ida Captur ture the Flag ag: : Outdo doors ors 9 9  Capture the flag : Traditional outdoor sport  Each team has a flag and a territory of its own  Objective: Capture the other team’s flag ▪ Without being tagged/touched in the other team’s territory Image: Wikipedia jonkv@ida jonkv@ida Captur ture the Flag ag: : Electro troni nicall cally 10 10  Electronic versions exist since 1984 … 5

  6. 9/6/2016 jonkv@ida jonkv@ida Captur ture the Flag ag: : Proje oject ct 11 11  Project: Implement ”Capture the Flag” in Python  Basic framework given ▪ Graphics, physics Image tiles given – focus on programming  Mandatory or potential tasks : ▪ Implement part of the basic game ▪ Add sound effects ▪ Add destroyable and movable objects ▪ Implement an AI player (artificial intelligence) ▪ Add support for networking with multiple players ▪ Write a level editor allowing new levels to be easily defined ▪ … Game: e: XPilot lot-AI AI 6

  7. 9/6/2016 jonkv@ida jonkv@ida XPilot lot: : Intro roductio duction 13 13  XPilot : classical game  Control a spaceship  Rotating, thrusting, firing on the enemy  Avoid other ships / obstacles jonkv@ida jonkv@ida XPilot lot-AI AI: : Artificial tificial Intelligence elligence 14 14  XPilot-AI : A programming game  Write code to control the spaceship : An intelligent agent  Find ways to: ▪ Navigate ▪ Avoid the enemy ▪ Shoot at targets ▪ Fly as an escort ▪ Learn the environment (you can only “see” a certain distance) ▪ …  At the end: ▪ Maybe a tournament between project teams? 7

  8. 9/6/2016 Softwar ware: e: Mapping ping jonkv@ida jonkv@ida Mapping: ping: Introduct roduction on 16 16  Maps used to be on paper…  …but now they tend to be electronic 8

  9. 9/6/2016 jonkv@ida jonkv@ida Mapping: ping: Usag age 17 17  Many popular uses for maps!  Real-time navigation (in combination with GPS)  Mashups overlaying interesting information Heatmap: Where are photos How do hummingbirds migrate? in Panoramio taken? jonkv@ida jonkv@ida Mapping: ping: Project oject 18 18  Project: Develop a web application !  Begin using the Google Maps API to display maps ▪ But Google does not provide direct access to roads, …  Add freely available structured map data from OpenStreetMap ▪ Generate paths for navigation ▪ … 9

  10. 9/6/2016 Hardwar dware: e: Lego Mindstorms dstorms jonkv@ida jonkv@ida Lego Minds dstor torms ms EV3 20 20 10

  11. 9/6/2016 jonkv@ida jonkv@ida Mindstorms: dstorms: Robots ts 21 21  Can be used to build many kinds of robots… jonkv@ida jonkv@ida Mindstorms: dstorms: Project oject 22 22  Project : Build (and program) a guard dog!  Patrol an area  Fire balls at intruders  Chase intruders away 11

  12. 9/6/2016 Hardwar dware: e: Robocop copHuma manoid noidSoccer er jonkv@ida jonkv@ida RoboCup Cup: : Introduct roduction on 24 24  Robocup: Robotic soccer competition, since 1997 AIBO dogs (up to ) Small Size League Simulation League Middle Size League 12

  13. 9/6/2016 jonkv@ida jonkv@ida RoboCup Cup: : Robots 25 25  We have: Six Nao robots Made by Aldebaran Robotics 57 cm, 4.5 kg jonkv@ida jonkv@ida RoboCup Cup: : Project oject 26 26  Project: Play soccer!  Hello World ! Get started programming the robots  Basic Skills Develop simple skills like walking a certain distance and turning the head searching for the ball  Playing Soccer Track the ball, kick the ball, score a goal  Cooperation Pass the ball 13

  14. 9/6/2016 jonkv@ida jonkv@ida Proje oject ct Timeline eline Overvi view: w: Startup rtup Phase se 28 28 160909 This lecture  160912  160913  160914 WebReg open for signing up  160915  160916  160919  160920 Deadline : Sign up, tell us your preferred project  160921  160922  160923 Preliminary group assignment sent out  160926 Mandatory meeting: Meet partners, learn about the project …  160927  160928 Deadline : T ell us by lunch if group members are missing!  160929  160930 Final group assignment sent out  161003 Full speed ahead !  14

  15. 9/6/2016 jonkv@ida jonkv@ida Proje oject ct Timeline eline Overvi view: w: Phase ase 1 29 29 Week 37 Next week : Sign up Week 38 Preliminary notification Week 39 First meeting (LA1)  potential group changes Week 40 Startup : Intro phase, relatively detailed instructions W 41, (42) LA2 LA3 LA4 LA5 LA6 LA7 Intro phase Intro phase Progress Intro phase Intro phase Progress report report Spend even more time outside these lab times – standard lab procedure! Week 42 Re-exam period – catch up with intro phase if not finished Week 43 Exam period jonkv@ida jonkv@ida Proje oject ct Timeline eline Overvi view: w: Phase ase 2 30 30 Week 44 Main phase Week 45 Investigate, explore, implement, write a lot of code! Week 46 Guidance and goals given in project-specific instructions , together with milestones to achieve Week 47 Use your creativity and imagination, Week 48 and expand the project as much as time allows Week 49 ≈ 4 hours 2-hour lab with Most 4-hour lab 4-hour lab progress reports of work weeks in (assistants (assistants from each group outside the main present present (not a question the phase for one hour) for one hour) session) schedule! Demonstrate the project for the assistant Deadline! Week 50 Final presentations in Visionen 15

  16. 9/6/2016 jonkv@ida jonkv@ida Working ngat Home me 31 31  For some projects, you may be able to work at home – bonus !  Example: Thinlinc ▪ https://www.ida.liu.se/local/tus/handbook/linux/thinlinc.sv.shtml ▪ https://www.ida.liu.se/~TDDD11/UPP_Course_Mtrl/tools/thinlinc/index.sv.shtml But be at the labs at well – maximize feedback! 16

  17. 9/6/2016 jonkv@ida jonkv@ida Proje oject ct: : Extent nt 33 33  How much must you implement? The time required to finish a milestone depends on: Whether your implementation is rudimentary or full-featured How often you run into unexpected trouble How many solutions you try before succeeding Do as much as you can! Achieving milestones is one way of showing progress; minimum requirements are project-specific Another is making mistakes and showing clearly what you tried, why it didn’t work, and what you learned Spend the time, try hard, learn, explain! jonkv@ida jonkv@ida Proje oject ct: : Extent nt – Clari arificatio fications ns 34 34  Remember: Around 14 hours per week and person !  Complete project 5 hp = 3.33 weeks = 133 hours  First period 33h (14h scheduled, 19h on your own time )  Presentations 2h  Second period 98h in 7 weeks = 14h per week  That's 42 person hours per group and week  If you spend this time but have difficulties completing a milestone: Fine (as long as you show what you have done): You're still learning  If you can't demonstrate that you are working hard: Expect additional tasks, komplettering 17

  18. 9/6/2016 jonkv@ida jonkv@ida Proje oject ct: : Reading ing Instruct tructions ons 36 36  Engineers must know what the users want and need!  Read and re-read the instructions and specifications – all of them  Otherwise: ▪ Running as fast as possible – in the wrong direction? ▪ Y ou’ll miss important hints! 18

Recommend


More recommend