Administrative Items ECE 297.

Slides:



Advertisements
Similar presentations
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely P J Human Resources Pte Ltd presents:
Advertisements

Jenny Havens Ozark Christian College Learning Center
1 © 2006 by Smiths Group: Proprietary Data Smiths Group Online Performance Review Tool Training.
API Design CPSC 315 – Programming Studio Fall 2008 Follows Kernighan and Pike, The Practice of Programming and Joshua Bloch’s Library-Centric Software.
PHP (2) – Functions, Arrays, Databases, and sessions.
Introduction to a Programming Environment
{ Etiquette Handbook. Feature Creating an Font, colour and sizes etc Sending an Sending using Cc Sending using Bcc Creating a signature.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Administrative Stuff ECE 297. Administration Milestone 0: –Submit by Friday at 5 pm –Demo in lab this week –Write your name on the board when ready to.
Chocolate Bar! luqili. Milestone 3 Speed 11% of final mark 7%: path quality and speed –Some cleverness required for full marks –Implement some A* techniques.
COMP 208/214/215/216 Lecture 2 Teams and Meetings.
Requirements Walk-through
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Information Trapping Subscribing to RSS Feeds or Alerts to Make Research Easier.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
Team Formation Dr. Tallman. ECE297 Tutorials, Jan 21 & Jan 23 Your team will meet your Communication Instructor (CI) and schedule a weekly 30- minute.
How to use ? By Martyna Haliniak. How to log on? In order to log on, you have to type in your username & password in the text boxes, and then click.
Downloading and Installing Autodesk Revit 2016
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Program #2 Algorithm for Parking at PSU. Understanding the Assignment You will be writing a program to find out how much someone at PSU might be spending.
Graphs, Continued ECE 297.
ECE297 TA GUIDE Project supervision. Agenda M0 feedback Project overview M1 overview Project supervision.
BIT 115: Introduction To Programming Professor: Dr. Baba Kofi Weusijana (say Doc-tor Way-oo-see-jah-nah, Doc-tor, or Bah-bah)
BIT 115: Introduction To Programming Professor: Dr. Baba Kofi Weusijana (say Doc-tor Way-oo-see-jah-nah, Doc-tor, or Bah-bah)
Dr. Sajib Datta Jan 15,  Instructor: Sajib Datta ◦ Office Location: ERB 336 ◦ Address: ◦ Web Site:
Documenting Self Inspections The City of Hendersonville Department of Public Works Erosion Control Self Inspection Form Power Point Presentation.
Genius Hour Answering Your Questions. Goals/Intentions of Genius Hour To learn something or achieve something Make a change in your life or in the world.
Core LIMS Training: Project Management
How I cope with stress - I believe you can cope too
Measuring Where CPU Time Goes
Reviewing Code A guide to smelling another developer’s source code.
Sample Wiki Comments?.
Working in Groups in Canvas
A Simple Introduction to Git: a distributed version-control system
Introduction to Python
Milestone 2 Overview.
IF statements.
St Peter’s CE Primary School
Functionality & Performance in Milestone 1
Client Management Managing Client Expectations
Aim To think about what bullying is and how to help yourself or others who are being bullied. To understand what Anti-Bullying Week is and its aims and.
Tutorial 8 An optional eighth tutorial will be held the week of March 6. This tutorial will give you practice with and feedback on oral presentation and.
Mail Merge Instructions (Yanick’s Version)
Taking an Iteration Down to Code
CSE1320 INTERMEDIATE PROGRAMMING
Intro to PHP & Variables
COMP 208/214/215/216 Lecture 2 Teams and Meetings.
Lecture 0 Course Information
Team Members Full Names Class Number and Name Date
Welcome to Physics 1D03.
Functions In Matlab.
HOWDY Partner ! By Raymond H Fien
DETAILED PLANNING.
Coding Concepts (Basics)
CSE1320 INTERMEDIATE PROGRAMMING
L.E.A. Data Technologies Introduction.
CS305, HW1, Spring 2008 Evaluation Assignment
Presentation to - Management Team Javier Garza, HRM B-02
Milestone 3: Finding Routes
Inside a PMI Online Course
Min Heap Update E.g. remove smallest item 1. Pop off top (smallest) 3
Give great customer service with Microsoft Dynamics CRM
Functionality & Performance in Milestone 1
Announcements: Questions: Names on the board? Why?
This is a template for a presentation that you can use to introduce your team to Harvest. You can customize the content of the slides. You’ll want to pay.
Presentation transcript:

Administrative Items ECE 297

Teams Have team? No team yet? See course website for your CI & TA and rooms Go to your regular tutorial time Meet your CI in the assigned room (see course web site) You and your CI will choose a time for future meetings No team yet? Go to your regular tutorial time and meet Dr. Tallman in Mon. Jan 23, 1-3pm, HA409 Wed. Jan 25, 9-11am, BAB025 Thurs. Jan 26, 3-5pm, SS2104 Dr. Tallman will group into teams Enter team through the team selection web page

StreetSegment: Curve Points Not all StreetSegments (city blocks) are straight If not straight, have CurvePoints  list of (lat,lon) points followed between intersections

libstreetdatabase: Streets & POI group of StreetSegments unique index 0 to getNumberofStreets()-1 non-unique name (e.g. “Yonge St.”) Points of Interest location non-unique name (e.g. “Tim Horton’s)

libstreetdatabase: Extra Features Feature outlines Ponds Buildings Parks, … Not used in milestone1 OSMID 64-bit, globally unique ID for any item 0 to ~1019 Use to look up more “raw OSM” data

Milestone 1 List of functions to implement in m1.h Comments say what each should do Good practice: documentation is in your code! Header file: comments say how to use Not how it is built Detailed unit tests in ece297exercise These give the detailed specification “Test-driven development” Most test functionality Some also test speed  too slow  fail One runs valgrind to check memory OK

Milestone 1 Unit Tests in main () that is made by unit tests // Load anything you want here load_map (“toronto_canada.streets.bin”); unsigned inter_id = find_closest_intersection (my_position); if (inter_id != 22333) { <your code failed the test, record it> } // lots more tests // clean up here; all memory should be de-allocated and the // map should be closed/unloaded close_map ();

load_map What should I do in load_map ()? 3 basic approaches // Load anything you want here load_map (string map_name); What should I do in load_map ()? 3 basic approaches load_map does nothing Implement all your higher-level api calls by calling lower level api (libstreetdatabase api) directly Stateless Often easier to code & debug But will be too slow for some calls load_map builds everything you could ever want Never have to call lower-level api again You have full control  make beautiful, fast data structures

load_map Blended approach load_map creates some new data structures // Load anything you want here load_map (string map_name); Blended approach load_map creates some new data structures Use them for api calls that need them for speed Call lower level api when it is fast enough Last 2 approaches are reasonable Good approach: Code in simplest way (usually option 1) Get it working Re-code using approach 2 or 3 where not fast enough load_map also speed tested Can’t be too slow But time limit pretty loose (several seconds)  you can load a lot

Clean Up main.cpp (made by unit tests) // Load anything you want here load_map (“toronto.bin”); int id = find_intersection_id_from_name (“Yonge & Bloor”); if (id != 22333) { <your code failed the test, record it> } // lots more tests // clean up here; all memory should be de-allocated close_map (); ece297exercise runs valgrind on a load_map(), use, close_map() test Must free all memory or will lose marks

Automatic Memory Checking Memory checking: valgrind slowdown ~10x Testing: want fast & thorough Small test case: almost as thorough as big St. Helena

load_map  How Do I Get Its Data? main.cpp (made by unit tests) // Load anything you want here load_map (“toronto.streets.bin”); unsigned inter_id = find_closest_intersection (my_position); if (inter_id != 22333) { <your code failed the test, record it> } // lots more tests // clean up here; all memory should be de-allocated close_map (); ?  global variable

But Aren’t Global Variables Bad? Yes, if you overuse them E.g. could pass argument but use global variable to avoid typing! But almost all programs have some Or something very similar Limit their number Group related data into classes (e.g. StreetGraph?)  organizes data and avoids lots of namespace pollution StreetGraph find_closest_intersection (my_position); load_map() close_map()

Global Variable Pitfalls Undisciplined use  hard to determine function inputs and outputs StreetGraph find_closest_intersection (my_position); find_ … Only read global variables here! load_map() close_map() Only change global variables in load & close More coding / milestone 1 tips in 2nd hour of tutorial this week (GB 304/BA 1180)

Team Formation & Performance ECE 297

Four Stages of a Team By Bruce Tuckman, Psychology Professor Forming Picking team, getting to know each other Storming Figuring out who does what & how, often contentious Norming Members understand and accountable for their roles Performing Only high-performance teams reach this stage; continuous improvement, open discussion, high trust You are here! Want to get here (or beyond)

High-Performing Teams Open discussion Tell it like it is! Don’t let things fester But be constructive Accountability Take responsibility for your part of the project Own your mistakes, delays, etc. and find a solution Transparency If you’re behind or some of your code doesn’t work, say so clearly Don’t hide or evade Trust Helped by all the above Plus spend time working together (in person!)

Social Norms of Effective Teams NY Times: Google Research on Teams Equal speaking Over day, members speak roughly equally All engaged, all feel valued 2. On average, high social sensitivity Can read emotions of other team members Can tell when someone feeling left out, …

Team Status Meeting Two per week: 1 with CI & 1 with TA Typical industry practice: weekly team meeting With written status (usually wiki) Good meetings help make good teams Show transparency and accountability Concise statement of what is done and not done Clear (single person) ownership of various tasks With a target completion date Leverage the CI & TA’s expertise Mentors are valuable  ask questions

Team wiki Team’s memory and to-do list Can have lots of detailed data Key data What’s next, with target date & owner for each What’s done, and what was reassigned / delayed Can have lots of detailed data If so, add a summary for weekly CI & TA meeting Should have received email with initial password Change it! Your wiki: for your team, TA and CI Wiki Quick Start Guide Go to 297 wiki