tddd89
play

TDDD89 Introduction Ola Leifler, 2017-10-31 2 Part I Course - PowerPoint PPT Presentation

TDDD89 Introduction Ola Leifler, 2017-10-31 2 Part I Course format Activities Examination 3 Part II Starting your thesis project: What is a good thesis project? How do you start? 4 Part I Course web 5 Resources 6


  1. TDDD89 Introduction Ola Leifler, 2017-10-31

  2. 2 Part I • Course format • Activities • Examination

  3. 3 Part II • Starting your thesis project: – What is a good thesis project? – How do you start?

  4. 4 Part I

  5. Course web 5

  6. Resources 6

  7. Course description 7

  8. Course format & staff 8 • 5 x 2h lectures • Lectures on academic English by Pamela Vang • 6 x 2h seminars – theme-specific groups – Ola Leifler, Aseel Berglund, Azeem Ahmad & Oscar Gustafsson

  9. Seminar Read Write 9 Introduction, Thesis plan 1 Background Introduction 2 Theory, 3 Method Theory 4 Results, 5 Discussion, Conclusion Method 6

  10. 10 Lectures 1. Introduction 2. Information search and evaluation 3. Introduction to academic writing in English 4. Scientific methods 5. Feedback on English writing and grammar

  11. Selecting a thesis topic 11

  12. 12 Seminar groups Ola Aseel Azeem Oscar A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A4 C’D4 B4 C4 ”Software Testing” ”Usability evaluation” B4 C3

  13. 13 Seminar 1,3,5 Are the research questions in the published thesis easy to find, clear and with a reasonable scope, as required by the instructions for final thesis reports ? 1 2 3

  14. 14

  15. 15 Seminar 2,4,6 1 2 3

  16. 16 LISAM For creating groups For review by Pamela Vang

  17. 17 Examination • UPG1: First three chapter of your thesis report at the end of the course • UPG2: Preparation and participation in seminars during the course UPG1 SE 1 SE 2 SE 3 SE 4 SE 5 SE 6 UPG2

  18. 18 Seminars

  19. 19 Final submissions Review, rewrite SE 6 January 6, 2018 End of HT2

  20. 20 Seminar work % Workload distribution 1 10 2 20 3 15 4 20 5 15 160h total: Plan your time, 6 20 look ahead and read the course description document thoroughly

  21. 21 Part 2

  22. 22 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”

  23. 23 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

  24. 24 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

  25. 25 Starting your thesis work Why? ”Evaluate algorithms to be used for image clustering” ”Determine whether clustering algorithms can be used to detect activities in sets of images” How? ”Find activities in sets of images”

  26. Relevance/Rigor 26 Rigor Solve a real problem A properly evaluated A properly evaluated solution to an irrelevant solution to a relevant problem problem Verify your solution A random solution to a relevant problem Relevance

  27. 27 Why should even I read this report? Thesis outline What have you studied here? What does this relate to? Can 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?

  28. 28 Abstract Thesis outline Research Questions Theory, Background Method Implementation Results Discussion Conclusion

  29. What is a good research question in Computer Science? 29 Question type Example question Type of answer Means of development What is the most efficient software Procedure testing method for small teams? General method for analysis How can you verify conformance to Analysis method realtime constraints in a multi-threaded embedded system? Specific evaluation of systems When is PhoneGap more economical to Empirical predictive model based on use than NativeGoo for cross-platform data mobile development? Generalization or characterisation Given recent results in tuning deep Classification, taxonomy neural networks, which meta-heuristics should be used for exploring the parameter space? Feasibility study Can you automate a car? Specific implementation, empirical observations

  30. 30 A Great Thesis

  31. I - The Problem 31

  32. 32 The infamous ”How can you …?”, ”Is it possible to …?” • ”How can you construct a web application?” • ”Is it possible to construct a mobile application X?” • ”How can you create a usable website?” Is the answer any of the following? By writing what has Yes, there is no By adhering to already been written reason to believe it published design many times before could not be done. guideline Y Then come up with a better question..

  33. 33 Better questions • Start exploring a field: • ”How can fuzz testing be used to find bugs in parallel embedded software?” • Then, use existing technical approaches and theoretical models: • ”Combining dynamic and static analysis of scheduling embedded systems” • ”What is the efficiency of AFL at finding timing-related errors in parallel software applications?”

  34. 34 The journey to a better question Question Approach Objection How can you automate testing? Applying automatic generation of test You end up with 10^7 test cases, only cases some of which are necessary.. How can we select test cases? Applying statistical/ML clustering Black-box solution, we need techniques traceability How can we prioritise test cases? Optimize based on historical records to No weight given to critical functionality maximise APFD What do you really want to optimise? Listen, observe, collect data Requires an open mindset

  35. 2 - the theory 35

  36. Theory 36 Validation Does it describe the ”There are seven dimensions of usability” world? ”NP-hard problems are at least as hard as the hardest NP problems” Is it proven? Characterization of knowledge, accumulated through scientific studies, published in peer-reviewed journals

  37. 37 ”It is just a theory” • Empirical observations are based on expectations, informed by theoretical frameworks: • When reading energy consumption values of a user device in a 4G network, you expect frequent radio transmissions to be costly due to different power states • When assessing usability, you assume that learnability is affected by the consistency of an application • Based on observations, you can test claims made by your theory

  38. Strong persuasion skills (aka a Method) 38

  39. 39

  40. 40

  41. 41 Algorithms Implementations Number of runs Hyper-parameters nearest centroid classifier 3 { "l1" ; "l2" ; "cosine" } NearestCentroid metric naive Bayes classifier alpha np.linspace(0,1,11) 22 MultinomialNB { True ; False } (multinomial distribution) fit_prior C np.logspace(-4, 4, 10) Linear SVM 20 { "squared_hinge" ; "hinge" } LinearSVC loss class_weight="balanced" dual=False C np.logspace(-4, 4, 10) class_weight="balanced" { "newton-cg" ; "sag" ; "lbfgs" } solver multi_class="multinomial" Logistic Regression 40 LogisticRegression dual=True C np.logspace(-4, 4, 10) class_weight="balanced" solver="liblinear" multi_class="ovr" { "l2" ; "elasticnet" } penalty alpha 10.0**-np.arange(1,7) class_weight = "balanced" Perceptron 13 Perceptron penalty=None class_weight="balanced" { "hinge" ; "log" ; "modified_huber" ; loss "squared_hinge" ; "perceptron" } Stochastic gradient descent 120 { "l2" ; "elasticnet" } SGDClassifier penalty alpha 10.0**-np.arange(1,7) class_weight="balanced" { True ; False } average Table 3.8: The different configurations of the experiment 4

  42. Structure and format 42

  43. 43 A great thesis: An interesting problem A convincing theory A reliable method A working solution Established effects Great presentation

  44. 44 But I will become a Master of Engineering, right?

  45. Engineering vs research 45 Engineering Research Rationale Solve a problem Gain understanding Activities Design, interviews, experiments, implement, verify proofs, ... Goal Satisfied customers New/shared understanding

  46. 46 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

  47. 47 Thesis types

  48. 48 Thesis types • Evaluations of new techniques or methods to improve existing products or processes • Design of a prototype application • Incremental improvements of existing techniques of methods

  49. 49 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

Recommend


More recommend