1 / 31

Human-Centric Software Engineering COSC 494/594, Spring 2019, Dr. Austin Henley

Discover what Software Engineering is, learn about human-centric SE, topics covered, and what you can gain from the course. Explore real-world knowledge to enhance your development skills and prepare for the job market.

melliott
Download Presentation

Human-Centric Software Engineering COSC 494/594, Spring 2019, Dr. Austin Henley

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Human-Centric Software Engineering COSC 494/594, Spring 2019, Dr. Austin Henley

  2. Today… • My experience with SE • What is SE? What is human-centric SE? • What topics will we cover? • What will you get out of this? • Course structure

  3. Today… • My experience with SE • What is SE? What is human-centric SE? • What topics will we cover? • What will you get out of this? • Course structure

  4. My SE experience • In undergrad, I made $$$ by making games

  5. My SE experience • In grad school, I did 5 internships

  6. My research • Tools to make software engineers more productive

  7. My research • Tools to make software engineers more productive If you’re interested, I’m hiring PhD students…

  8. Survey! What are your experiences? • Internships? • Full-time jobs lined up? • Have you made $$$ off anything you’ve built?

  9. Today… • My experience with SE • What is SE? What is human-centric SE? • What topics will we cover? • What will you get out of this? • Course structure

  10. What is Software Engineering? • Software engineering is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. • IEEE’s definition

  11. What does SE consist of? Requirements Design Implementation Verification Maintenance

  12. What does SE consist of? Analysis Requirements Design InitialPlanning Implementation Planning Testing Evaluation Deployment

  13. Human error [Tricentis ’17] Software failures cost $1.1 trillion in 2016

  14. The “Software Crisis” Since the 1960s (More like a depression) Of 28,000 projectscompleted in 2000… 2002 Study: 78% of orgs landed in court (Cutter Consortium) (Standish Group)

  15. Although stats improving, challenges remain… More headlines (Oct 2013–Aug 2014) • Tech Problems Plague First Day Of Health Exchange Rollout • Health Exchange Tech Problems Point To A Thornier Issue • It's Easy To Blame The Canadians For HealthCare.gov Problems • Sebelius: Hold Me Accountable For HealthCare.gov Debacle • Add Security To The List Of HealthCare.gov Tech Issues • Oregon's State Exchange May Be Worse Than HealthCare.gov • Could A Tech Giant Build A Better Health Exchange? Maybe Not • Official In Charge Of Creating HealthCare.gov Steps Down • Giving Up On Its Obamacare Exchange No Cure For Oregon's Ills • Oregon Sues Oracle For "Abysmal" Healthcare Website ( ) ( )

  16. You can help save the world! • Anecdotal experience: • New grad? West coast tech will pay $150k salary/stock • Masters degree? Expect around $200k

  17. Human-CentricSoftware Engineering • Devs are people! • All bugs are caused by people. • Flawed requirements • Flawed design • Flawed implementation • So… how do we solve humans?

  18. Today… • My experience with SE • What is SE? • What topics will we cover? • What will you get out of this? • Course structure

  19. Broadly… • Understanding developer behavior • Tools to make developers more productive • Evaluating tools

  20. Example topics • Productivity • Code editors • Debugging • Program comprehension • Version control • Continuous integration • Documentation • API usability • Code reviewing • Collaboration • Software testing • Software metrics • Refactoring • Program analysis • Usability of tools • End-user programming • Visual languages

  21. Today… • My experience with SE • What is SE? • What topics will we cover? • What will you get out of this? • Course structure

  22. Real-world knowledge • State of the practice on dev tools • State of the research on human aspects of dev • Goal: make you a better developer & get that job http://flic.kr/p/9DTDXi

  23. Today… • My experience with SE • What is SE? • What topics will we cover? • What will you get out of this? • Course structure

  24. Course Structure • Presentations • Participation • Project • No exams • Few lectures • How to evaluate dev tools? • How to comprehend a large codebase?

  25. Participation • Class time is based around discussions • Everyone should contribute • You’ll be graded on it! • Discussions will be led a student • Occasional in-class activities • Competition: fix a small bug as fast as possible • Give feedback on each other’s project • May require some effort outside of class (install a tool)

  26. Presentations • Everyone will regularly present • 10-15 minutes • Demo a tool or present a paper • Each week will have a theme • You have some choice in what you present • Based on how many people enrolled… • 1 paper presentation and 2 tool demos • If you aren’t presenting… at least skim the papers!

  27. Who and what gets presented? • Each Friday you can volunteer to present next week • I’ll decide the topic and papers • You can decide which tools to demo for the topic • I’ll provide templates

  28. Example weeks • Monday: 2 paper presentations and discussions • Wed: 3 tool demos and discussions • Fri: 2 tool demos & decide who will present next week • Monday: lecture and activity • Wed: 3 tool demos and discussions • Fri: 2 tool demos & decide who will present next week

  29. Project • Design, implement, and evaluate a dev tool • More details to come…

  30. This course is your oyster • Have an interest in a topic? • Want to try an activity in-class? • Prepping for the job market? Let me know! I might fit it in. This class is meant to benefit you.

  31. Let’s tour the course web pagehttps://tiny.utk.edu/cosc494

More Related