{"id":106,"date":"2007-08-13T09:23:12","date_gmt":"2007-08-13T09:23:12","guid":{"rendered":"http:\/\/quinert.com\/blog\/xml-rss2.php?itemid=43"},"modified":"2007-08-13T09:23:12","modified_gmt":"2007-08-13T09:23:12","slug":"back-to-school","status":"publish","type":"post","link":"http:\/\/www.software-testing.com.au\/blog\/2007\/08\/13\/back-to-school\/","title":{"rendered":"Back to school&#8230;"},"content":{"rendered":"<p>I&#8217;m back at university, in an effort to force myself to knuckle down and get through the pain of learning Java.  It&#8217;s been 16 years since I was last there, and here are a few of the things I&#8217;ve learned so far &#8211;<\/p>\n<p><b>I&#8217;ve learned about the syllabus<\/b><br \/>\nDespite the move to Java, very little has changed in the overall teaching approach in 16 years.  I&#8217;ve heard from another source that someone in my position 15 years ago may have been saying the same thing.<\/p>\n<p><b>I&#8217;ve learned something about gold-plating<\/b><br \/>\nUniversity seems to reward you for adding extra features.  This doesn&#8217;t seem to happen in the business world.<\/p>\n<p>A couple of years ago, I had a graduate developer assigned to my test team to help extend a test tool that I had written.  He seemed overly focused on wanting to build a GUI for my tool, when a simple command-line interface was all that was needed to solve our problem.  Similarly, with a user base of three, robust error handling was something we could live without.  After a couple of semesters of university assignments, I think I understand why this was the case.<\/p>\n<p><b>I&#8217;ve learned something about testing<\/b><br \/>\nLecturers are mostly not embracing some of the not-so-recent trends.  I&#8217;ve found JUnit tests a boon on assignments where we are incrementally adding new features.  Having these tests as I implement existing functions using newly-learned language features, or to add new functionality for new assignments makes things much less stressful.  Implement a test per requirement also helps to make sure I get all the marks for the assignment as well.  When I suggested a student learn JUnit rather than passing parameters to their classes manually via a GUI interface, lecturers seemed against it, despite the many practical (and career) benefits.<\/p>\n<p><b>I&#8217;ve learned something about learning<\/b><br \/>\nUniversity seems really keen to have students build GUIs on everything.  Now, GUI building seems like a reasonably complex thing, object-wise.  As a beginner, figuring out how to model the domain is hard enough without being forced to put a hacky user interface on top of it.<\/p>\n<p>Learning to model a domain doesn&#8217;t start with modelling the user interface. <\/p>\n<p>I&#8217;m sure there are more progressive courses out there.  I&#8217;m just surprised that the take-up of things that are of much benefit to beginning programmers is coming along so slowly.  But then we are always making a tradeoff between what we can easily teach and what&#8217;s worth teaching.  Just look at tester certification.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m back at university, in an effort to force myself to knuckle down and get through the pain of learning Java. It&#8217;s been 16 years since I was last there, and here are a few of the things I&#8217;ve learned so far &#8211; I&#8217;ve learned about the syllabus Despite the move to Java, very little [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,16,18,29],"tags":[],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-bad-software","category-humanising-work","category-learning","category-software-development"],"_links":{"self":[{"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":0,"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/posts\/106\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/media?parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/categories?post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.software-testing.com.au\/blog\/wp-json\/wp\/v2\/tags?post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}