290 likes | 320 Views
Gain project management experience, enhance communication skills, and develop complex C++ software applications in this course.
E N D
ECE 297: Design and Communication Course Overview Vaughn Betz & Ken Tallman
My Bio: Academia & Industry • Start-up: better placement & routing CAD and better FPGA architectures • Altera/Intel: customer & acquired us • 11 years, ultimately as Senior Director of SW Engineering • An architect of Stratix/Cyclone FPGAs and Quartus II CAD system • Led team of ~100 engineers • Professor, 7.5 years • Better FPGAs & CAD tools • Chips for machine learning • SW for light-activated chemotherapy
ECE 297 Course Goals
Course Goals • Gain design & project management experience • Including team-based design • Challenging goals, some self-learning • Enhance your communication skills • Written & oral • Make it clear & memorable • Learn more complex software development • All engineers write software today • More functionality moving to software • Simulate proposed designs via software • Automate repetitive tasks by writing software
Basic Learning • Lectures will cover principles and key skills • Course much more difficult if you don’t attend! • Course text on creating “Sticky Messages” • Clear and memorable • Expected to know lecture material & book • Tested with questions in presentations
Deeper Learning • Learn by doing • Develop a complex C++ software application • In a team of 3 • Manage project to hit 4 challenging milestones on time • Communicate effectively • 2 minor and 1 major written documents • 2 major oral presentations • The more effort you put in, the more you’ll learn • Lectures will not give you all the answers • Develop ability to learn independently • Develop confidence to work on open-ended problems • Develop tenacity to debug a complex system
ECE 297 Course Goals: Importance Software, Design, Communication
Software Designed the Product • Model/test/improve design using software simulations • Engineers of all disciplines write such software
Software: Language of Automation • Custom software to automate design tasks • Arria 10: 4 billion transistors, choose size of each • Manual: person-years. • Automatic: hours. • Can’t buy software to do exactly this need to write your own
Software & Practice “A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software is worth 10,000 times the price of an average software writer.” • Bill Gates • Best programmers >10X above average • 20:1 coding time • 25:1 debugging time • 10:1 program speed • [Sackman, Erikson, and Grant, 1968] • Made, not born: practice!
Design & Communication I: Getting a Job • Your transcript: do you know the basics? • Resume & interview • Can you design / problem solve? • On a problem you have not seen before • Can you communicate? • My favourite interview question What is your proudest design achievement?
II: Building Your Career • Many courses • Analyze how something works • But in your career need to make your own creation • Design! • Still need to analyze choices • But design requires creativity no one right answer • Requires breadth solve problems that span many areas • Communicate: • Within your team (informal, fast) • To your management (more formal) • To clients / customers (why should they choose you?)
III. Building a Company • Co-founded start-up to create better Computer-Aided Design Tools for FPGAs • Design: better software • 30x faster (8 hours fifteen minutes) • Circuits ran 38% faster charge twice as much for chips
III. Building a Company • Design: Altera paid $2M for prototype software • Offered more to buy company • Communication: presented to CEO & COO • You have the wrong chips for our software • Let us design the chips & software • Altera will make billions worth more to you!
ECE 297 IV. Building a Better World • Tesla Motors • Design • Re-imagined & re-designed the electric car • Communication • Made electric cars cool • tesla battery swap • Concretely shows how Tesla has overcome a weakness
Communication Challenge • Focus group for ECE branding • Make ECE impact understandable to broad public • In one sentence, what is ECE? • Audience: your nice but not-so-bright Uncle Larry ECE makes the chips, software, electronics and systems that are cell phones, TVs, computers, the internet and more Simple
Major Deliverables • Milestone 1: choose / code data structures • Written Doc 1: usability research & proposal • Milestone 2: graphics • Oral 1: graphics progress presentation • Milestone 3: find paths • Milestone 4: courier company route • Oral 2: final presentation
Mentoring and Evaluation • Grading (see syllabus for details) • ~50% on design & coding (communication helps!) • ~50% on communication & project management (a good designhelps!) • No midterm or final exam • Mentored by a CI • Communication Instructor • Represents client / project manager, evaluates communication • Mentored by a TA • Engineering grad student • Represents engineering manager, evaluates design
Design: First Two Weeks • Learn key software tools (milestone 0) • Show a TA you know how to use them • 2% of final grade, done individually • Labs start this week! • Going through the tools / tutorials fully will help you greatly during the project • You will work on the ECE ug machines • Login is your utorid • Initial password is your student number • Change password with passwdright away! • Can work remotely using vnc • Experimental: virtual machine for home
Third Week & Beyond: Work in Team • Form team of 3 by Friday, January 18 • Must be in same lab time slot (not room/section) • Will also be in same tutorial time slot • Choose wisely! • Same work ethic & quality goals • Complementary skills • Can get along • Team selector and list of students per time slot on course web site at www.eecg.utoronto.ca/~vaughn/ece297
Third Week Onwards • Meet with your TA in lab • Meet with your CI at mutually convenient time • May be during your tutorial time slot • Meet with TA & CI every week, unless you cancel by mutual agreement in advance • Be prepared, and summarize status well • Every coding milestone includes marks for project management • Another 3% of final mark for CI’s assessment of preparation & professionalism
Tutorials • First 2 weeks: tutorials will teach more advanced C++ • Templates • Standard Template Library (STL) • Some knowledge of STL necessary to complete project • To communicate with the support code we give you • More knowledge of STL makes project much easier • Create data structures much faster finish faster • You should attend! • Some optional 1 hour coding tutorials later in course • Topics announced in advance, attendance optional
Academic Integrity • General discussion is OK, copying is not • All reports will be run through turnitin.com • All code will be run through an automated program similarity checker • We keep every milestone ever submitted in this course • Both copying and allowing copying will be penalized • The Code of Academic Discipline will be strictly enforced • “Integrity takes a career to build and a moment to destroy.” • MishaBurich, former CTO of Altera
Resources & Advice • Your CI and TA are mentors ask for help! • Piazza Q & A • Ask anything, but don’t post code / solutions • Anytime you find me can ask a question • Or email for an appointment • Don’t fall behind • Milestone 0: due by Friday, Jan. 18 @ 7 pm • Have team chosen by Friday, Jan. 18 • Written Document 0: due by Sunday, Jan. 27 @ 7 pm
Feedback • Tell us about any issues / improvements • In person or email • Or by anonymous feedback link on course website • Mistake bounty • Point out a mistake in a lecture • 3 mistakes in 1 lecture for everyone next lecture