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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend