TDDD89 Lecture 1 måndag 2 november 15 Part I • Course format • Activities • Examination måndag 2 november 15 Part II • Starting your thesis project: • What is a good thesis project? • How do you start? måndag 2 november 15 Part I måndag 2 november 15 Course format • Select a thesis topic • 3x2h lectures • 6x2h seminars • 4x2 students • theme-specific groups måndag 2 november 15 Interlude måndag 2 november 15 You want a great challenge, and an ability to work with rewarding problems that will have an effect on peoples lives. How about working on issues that will have a profound effect on all life unless we change everything about how we consume & produce in our societies? Climate Change måndag 2 november 15 This is the single most important issue that will shape your professional and personal lives for decades to come. Everything we do will be affected by the effects of climate change. As far as challenges go, there is no greater one, nor more devastating effects of one. These are some of the effects with the most conservative estimated effects, if our CO2 emissions are reduced by a great deal more than what is currently promised, or happening. måndag 2 november 15 Those who are concerned with peoples having to flee their homes, hundreds of millions of people will be displaced by the mid century. måndag 2 november 15 måndag 2 november 15 måndag 2 november 15 You may have heard of the California Drought, but how about the Amazon drought? The Amazon rainforest is in it’s fifth consecutive year of drought, and is at a very real risk of disappearing and becoming a savannah. måndag 2 november 15 Climate simulations have been very accurate until now, scarily so. Fighting climate change will require substantial efforts by all, and require Systems Engineering perspectives on all developments. The models used to predict the effects of climate change, and the visualizations used to convey messages are complex pieces of Software Engineering. måndag 2 november 15 There are of course more projects, and not all projects that you do will have to do with Climate Models, but as for the impacts of your theses and your future work, there is no greater challenge. Why should anyone be interested in that which you work with? Selecting a thesis topic • Option 1:You have a thesis proposal that you will work with in your Master’s thesis projects: great! • Option 2:You find a partner to work with in the course • Matchmaking: https://goo.gl/5DZzIl måndag 2 november 15 Lectures 1. What is a great thesis? 2. Learning and writing about a new subject area 3. Method måndag 2 november 15 Lecture 1: different types of theses, the introduction to your thesis Seminar Read Write 1 Introduction Thesis plan Introduction 2 3 Theory Theory 4 5 6 måndag 2 november 15 Results, Discussion, Conclusion Method Seminar groups Ola A1 A1 A1 A4 ”Usability evaluation” B4 måndag 2 november 15 Aseel Johannes A1 A1 A1B4 A1 A1 A1 C4 ”Machine Learning” C3 Gitlab - demo måndag 2 november 15 Seminar 1,3,5 1 måndag 2 november 15 2 3 Seminar 2,4,6 1 måndag 2 november 15 2 3 Gitlab måndag 2 november 15 Gitlab This course Milestones Seminars & chapters Issues Feedback Labels Guidelines &c Members WebReg group + teacher Examination UPG1 SE 1 måndag 2 november 15 SE 2 SE 3 SE 4 SE 5 SE 6 UPG2 Seminars måndag 2 november 15 Final submissions Review, rewrite SE 6 End of HT2 måndag 2 november 15 End of exam period for HT2 Part 2 måndag 2 november 15 What is a great thesis? Thesis = project results + written presentation • A working, interesting application with proven and general value • A well-described application • of general interest • and with a clear description of ”proven” and ”value” måndag 2 november 15 What is a great thesis? Thesis = project results + written presentation • An evaluation with general and interesting results • that others can use • that others will believe måndag 2 november 15 What is a great thesis? Thesis = project results + written presentation • An authoritative report • with a good focus (questions!) • and results that answer the questions • through a transparent, thorough description of the process måndag 2 november 15 Starting your thesis work ”Determine whether Why? clustering algorithms ”Evaluate algorithms can be used to to be used for image detect activities in clustering” sets of images” How? ”Find activities in sets of images” måndag 2 november 15 Vague requirements: finding focus and rigor more important Precise requirements: finding relevance more important Rigor Solve a real problem A properly evaluated solution to an irrelevant problem A properly evaluated solution to a relevant problem Verify your solution A random solution to a relevant problem Relevance måndag 2 november 15 Thesis outline Why should even I read this report? What have you studied here? What does this relate to? Should I trust you? What is built? What have you found? How can we explain the results? How can I use these results in my work? måndag 2 november 15 Thesis outline Abstract Research Questions Theory, Background Method Implementation Results Discussion Conclusion måndag 2 november 15 Thesis plan Subject Type Software Machine Eng. Learning Evaluation X Design X Improvement måndag 2 november 15 X Games ... Time Plan Design ? Evaluation ? T T+5 months måndag 2 november 15 To mitigate risks, consider * working with parallel activities * keep track of time spent, so you can adjust your time estimates * having decision points, and consider alternative solutions to problem along the way. Diary måndag 2 november 15 A Great Thesis måndag 2 november 15 måndag 2 november 15 You will need to start with a problem that people are interested in, a few more than only those that gave you your task. måndag 2 november 15 you will need to convince people that you have a solid understanding of the field you are writing about måndag 2 november 15 In many cases, you will produce some code as part of your thesis. This is not enough for your thesis project though. You need to convince your (critical) audience that you have done a great job! They don’t know you.. or your supervisor or your company so you better be convincing! måndag 2 november 15 There are several established methods of persuasion: In industry as well as in academia, well-presented working solutions are the best means of persuasion. in the scientific community, we also require claims about solutions to be sound, so others can rely on them in their work. We will cover what we mean by soundness when we talk about specific methods later, but in general, måndag 2 november 15 you may want to assess the external or internal qualities of that which you produce, using qualitative or quantitative methods. There are of course other types of theses that do not involve creating products, and they have their own criteria for assessment. måndag 2 november 15 måndag 2 november 15 Mind the language. It IS important that others find your report attractive, since it will be the single longest report that you write in your Master’s programme, and it may be some time before you write another report quite like it. måndag 2 november 15 Pay attention to the structure, formatting & typesetting of your report, and start to write early. Few people have accurate estimates of how long it takes to write a report. A great thesis: An interesting problem A convincing theory A reliable method A working solution Established effects Great presentation måndag 2 november 15 But I will become a Master of Engineering, right? måndag 2 november 15 Engineering vs research Engineering Research Solve a problem Gain understanding Activities Design, implement, verify interviews, experiments, proofs, ... Goal Satisfied customers New/shared understanding Rationale måndag 2 november 15 Are they really that different? måndag 2 november 15 In order to solve a problem, you need to gain understanding of the problem In order to verify your implementation, you may need to do experiments, interviews or proofs In order to have satisfied customers, you need to achieve a shared understanding that the problem has been solved appropriately måndag 2 november 15 Thesis types måndag 2 november 15 Thesis types • Evaluations of new techniques or methods to improve existing products or processes • Design of an application • Incremental improvements of existing techniques of methods måndag 2 november 15 Evaluation General problem: Does the code quality deteriorate over time? How do we know? Approach 1: Relate Git commits to code metrics such as cyclomatic complexity and draw a graph måndag 2 november 15 Why is this not a good idea? • We have not defined what we mean by ”code quality”, and hence, we have no way of knowing what to measure, or whether it relates to our desired quality. • There is no clear sense of how to assess what we have done. måndag 2 november 15 Approach 2 General problem: Does the code quality deteriorate over time? How do we know? Approach 2: Based on interviews, we define code quality as detected faults. Determine whether detected faults correlate with cyclomatic complexity. måndag 2 november 15 Why is this a better approach? • We now have a definition of code quality • The result can be assessed måndag 2 november 15 Design General problem: Create a new Foo application at our company Approach 1: Read about the latest techniques that can be used on Wikipedia and on project sites, implement the system and ask the company supervisor if he/she is happy måndag 2 november 15 Why is this not a good approach? • We don’t know why the company wants the Foo application, how to evaluate it, or how long time it would take to implement it in full. • IF the requirements are not clear from the start, and the estimated time to implement the working, full solution is > 6 weeks, do not aim for a full solution måndag 2 november 15 Approach 2 If the projected time to implement a full solution is > 6 weeks Conduct a set of semi-structured interviews to understand the problem domain and the goal, • • a literature survey to understand solutions to similar problems, • and a few structured iterations of development and documented customer feedback, to produce a set of requirements based on the initial prototypes. måndag 2 november 15 Approach 3 If the projected time to implement a full solution is <= 6 weeks • Determine functional and nonfunctional requirements, • a literature survey to understand solutions to similar problems and how to assess them, • develop the application iteratively, and evaluate the resulting application based on the non-functional requirements måndag 2 november 15 Incremental improvement General problem: We would like to perform testing of Telecom equipment with less hardware resources Approach 1: Implement a booking system that automatically releases resources upon expired time slots. måndag 2 november 15 Why is this not a good approach? • We do not know how and why people use hardware resources, so we do not know how to optimize something. • Is this a technical, an organizational problem or a cultural issue? • How do we even measure utilization? måndag 2 november 15 Approach 2 • Conduct an interview series to establish how different people perceive the problem • Conduct an observational study to determine how people actually use resources • Find a suitable model for resource utilization in the literature and apply it • Measure utilization and relate to the results of the interviews måndag 2 november 15 What’s next? måndag 2 november 15 • Write a draft of your thesis plan by Friday. Focus on the main topic, relate to previous courses, both the WHAT and the HOW. • Set up Gitlab projects for each thesis, and one for your group once you have one assigned (next Tuesday at the earliest). måndag 2 november 15 Summary • Write a draft thesis & plan, prepare for and participate in seminars • A great thesis is a marriage between solid engineering skills, genuine scientific approach to validate your work, and a crystal clear presentation. • There are three main types of industry theses: evaluations, prototypes and improvements. måndag 2 november 15