{"id":147,"date":"2014-01-15T10:00:55","date_gmt":"2014-01-15T10:00:55","guid":{"rendered":"http:\/\/juliericowilliamson.com\/blog\/?p=147"},"modified":"2014-01-15T10:08:53","modified_gmt":"2014-01-15T10:08:53","slug":"software-engineering-it-first-lecture","status":"publish","type":"post","link":"http:\/\/juliericowilliamson.com\/blog\/software-engineering-it-first-lecture\/","title":{"rendered":"Software Engineering IT &#8211; First Lecture"},"content":{"rendered":"<div id=\"attachment_145\" style=\"width: 310px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010207-small.jpg\"><img aria-describedby=\"caption-attachment-145\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-145\" alt=\"Teams must complete a tower design challenge given limited supplies.\" src=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010207-small-300x200.jpg\" width=\"300\" height=\"200\" srcset=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010207-small-300x200.jpg 300w, http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010207-small-1024x684.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-145\" class=\"wp-caption-text\">Teams must complete a tower design challenge given limited supplies.<\/p><\/div>\n<p>This year I am teaching Software Engineering IT, a masters level software engineering course for students without a previous background in computing science. \u00a0This is the first course I have ever taught, and I wanted to bring some of my defining experiences at UC Irvine across to my teaching here at Glasgow. \u00a0I was amazingly fortunate to take Software Engineering with\u00a0<a title=\"Andr\u00e9 van der Hoek\" href=\"http:\/\/www.ics.uci.edu\/~andre\/\" target=\"_blank\">Andr\u00e9 van der Hoek,\u00a0<\/a>where I was taught software engineering from a design perspective. \u00a0This perspective was core to Andr\u00e9&#8217;s teaching, and I hope I&#8217;ve done it justice here and helped spread this mantra that I stand behind. \u00a0Although I have now gone off the HCI and sociology deep end, software engineering was one of my favourite topics as an undergrad and Andr\u00e9&#8217;s course contributed to my love of research and creativity in my work.<\/p>\n<div>\n<dl id=\"attachment_145\">For the first lecture of the class, I wanted to drive home some important points about creativity and problem solving in software engineering. \u00a0During the lecture, the class was split into teams to participate in a tower building challenge.<\/dl>\n<\/div>\n<div id=\"attachment_148\" style=\"width: 210px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010216-small.jpg\"><img aria-describedby=\"caption-attachment-148\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-148\" alt=\"An intermediate design for a tower.\" src=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010216-small-200x300.jpg\" width=\"200\" height=\"300\" srcset=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010216-small-200x300.jpg 200w, http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010216-small-684x1024.jpg 684w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/><\/a><p id=\"caption-attachment-148\" class=\"wp-caption-text\">An intermediate design for a tower.<\/p><\/div>\n<p><strong>The Challenge<\/strong><\/p>\n<p>Design the tallest possible tower given the materials.<\/p>\n<p>Your tower must be able to support the weight of one large tub of Play-Doh.<\/p>\n<p>Tower will be judged based on functionality (does it support weight?), height, and beauty.<\/p>\n<p>The teams were left with 25 minutes to design and build the best tower possible. \u00a0However, the lecture was grounded on some important software engineering concepts that I wanted to highlight with our towers.<\/p>\n<p><strong>Duck Tape? \u00a0<\/strong><\/p>\n<p>I asked the students if they would&#8217;ve built better towers if I provided them with the duck tape I had in my box of tricks. \u00a0In software engineering, that duck tape is like the library or framework you might have not been aware of or chosen not to use. \u00a0In the tower, not using the duck tape as a tool seems silly. In software engineering, use of appropriate tools and frameworks makes an even bigger difference.<\/p>\n<p><strong>What do Towers Look Like?<\/strong><\/p>\n<p>I also challenged assumptions and design decisions in the tower process to highlight the importance of good requirements. \u00a0I changed the challenge at the end by asking for a tower that could suspend from the ceiling. \u00a0How many of the designs would still work? What about if when I said tower I really meant bridge? \u00a0Would you simply turn the tower sideways as say &#8220;this is a bridge&#8221; or would you start with a new design? \u00a0I wanted to demonstrate that we often re-purpose software and use it in ways it&#8217;s not intended because we can, but this leads to lots of headaches down the line. \u00a0You wouldn&#8217;t just repurpose the tower when it obviously wasn&#8217;t fit for purpose, and we shouldn&#8217;t do that with software either. \u00a0I also touched on the idea that a good tower design might support re-use and extension more easily, which leads to&#8230;<\/p>\n<p><strong>Design Patterns for Towers<\/strong><\/p>\n<p>Towers have design patterns as much a software does. \u00a0I demonstrated a simple construction technique for the towers to show the students how much a proven design pattern can improve your final product. \u00a0Thus far, I think the best joint for tower building given our material set is to place two dowels end to end, wrap tightly with paper, and secure down with a small amount of Play-Doh. \u00a0After showing this technique, we discussed how it might make much stronger and taller towers. \u00a0Again, I asked if the students would just augment their design or start fresh given the new knowledge. \u00a0Towers have design pattern and so does software, and we&#8217;ll be learning and applying them in this course.<\/p>\n<p>I tried to use the tower not only to give a flavour for the level a creativity and reflection I expect during the class, but also to show some hopefully compelling examples of why the intangible or difficult to visualise software pitfalls are important to address in the software engineering process. \u00a0I think I am going to really enjoy my first semester of teaching.<\/p>\n<p><strong>Some of the Final Results<\/strong><\/p>\n<div id=\"attachment_149\" style=\"width: 210px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010217.jpg\"><img aria-describedby=\"caption-attachment-149\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-149\" alt=\"A tower with a flag and a plaza.\" src=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010217-200x300.jpg\" width=\"200\" height=\"300\" srcset=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010217-200x300.jpg 200w, http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010217-684x1024.jpg 684w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/><\/a><p id=\"caption-attachment-149\" class=\"wp-caption-text\">A tower with a flag and a plaza.<\/p><\/div>\n<p>It turns out that adding &#8220;Beauty\/Creativity&#8221; as one of the tower judging criteria led to some very interesting designs.<\/p>\n<div id=\"attachment_150\" style=\"width: 210px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010220-small.jpg\"><img aria-describedby=\"caption-attachment-150\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-150\" alt=\"A tower with circular paper adornments.\" src=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010220-small-200x300.jpg\" width=\"200\" height=\"300\" srcset=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010220-small-200x300.jpg 200w, http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010220-small-684x1024.jpg 684w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/><\/a><p id=\"caption-attachment-150\" class=\"wp-caption-text\">A tower with circular paper adornments.<\/p><\/div>\n<div id=\"attachment_151\" style=\"width: 210px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010221-small.jpg\"><img aria-describedby=\"caption-attachment-151\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-151\" alt=\"An interesting shape in the middle of the tower.\" src=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010221-small-200x300.jpg\" width=\"200\" height=\"300\" srcset=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010221-small-200x300.jpg 200w, http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010221-small-684x1024.jpg 684w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/><\/a><p id=\"caption-attachment-151\" class=\"wp-caption-text\">An interesting shape in the middle of the tower.<\/p><\/div>\n<div id=\"attachment_152\" style=\"width: 310px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010223-small.jpg\"><img aria-describedby=\"caption-attachment-152\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-152\" alt=\"A short but strong tower.\" src=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010223-small-300x200.jpg\" width=\"300\" height=\"200\" srcset=\"http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010223-small-300x200.jpg 300w, http:\/\/juliericowilliamson.com\/blog\/wp-content\/uploads\/2014\/01\/P1010223-small-1024x684.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-152\" class=\"wp-caption-text\">A short but strong tower.<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em style=\"font-size: 16px;\">Special thanks to Andr\u00e9 van der Hoek and Alex Baker who not only first exposed me to software engineering as design at UCI in 2006 but who also guided and supported me while preparing for this course.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This year I am teaching Software Engineering IT, a masters level software engineering course for students without a previous background in computing science. \u00a0This is the first course I have ever taught, and I wanted to bring some of my &hellip; <a href=\"http:\/\/juliericowilliamson.com\/blog\/software-engineering-it-first-lecture\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[22,21,20],"_links":{"self":[{"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/posts\/147"}],"collection":[{"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/comments?post=147"}],"version-history":[{"count":19,"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":169,"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/posts\/147\/revisions\/169"}],"wp:attachment":[{"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/media?parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/categories?post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/juliericowilliamson.com\/blog\/wp-json\/wp\/v2\/tags?post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}