Monday, May 9, 2016

Week 2

Presentation/Learning Objectives:

As a lead software engineer, I provide professional development to my colleagues on a regular basis.  I have a standard presentation that I use when presenting on software testing and design best practices which would benefit from an enhanced multimedia platform like Padlet.  At the end of this post is a Padlet that includes links to the external resources I use in my presentation.  My peers can use this both as an introduction to the material (Mayer’s Pre-training Principle) and as a reference after the training is over.  I can further incorporate Padlet by asking my colleagues to post relevant information on the topic for future presentations in a specific area which doesn’t clutter up the Padlet.



2. Understanding
3. Apply
6. Create
A. Factual
- Engineer knows the difference between a Unit test and an Integration Test
- Engineer can summarize the SoC design principle
- Engineer can summarize the SRP design principle
- Engineer can summarize the DRY design principle
- Engineer can summarize the importance of an Inversion of Control container


B. Conceptual

- Engineer can identify the SRP design principle

D. Metacognition


- Engineer will use Test Driven Development to create a C# WebApi that can create, write, update and delete information which have associated unit test code

Copyright in software engineering:

Because software, and technology in general, are constantly changing the internet is usually the best place to find the most up to date information.  Copyright typically comes into play for software engineers when they use someone else’s source code.  There are a variety of difference licenses software engineers and companies use to distribute source code over the internet and some have very important implications.  For example, some software licenses state that you can use their code but only in a non-commercial way while others state that you can use their code any way you like.  Some give you permission to modify their code whereas others require that you use it as is.  The typical piece of software today uses tens, hundreds or even thousands of other people’s code snippets (called libraries).  The issue arises when you violate that libraries license and open yourself up to litigation.  This has become so much of an issue there are software packages which read through a company’s source code looking for license violations so that the company can either replace or purchase a valid license from the code’s author.
When giving my software testing and design best practices presentation, if I have new software engineers or it hasn’t been covered in a while, we have a discussion about copyright and which types of software engineering license help us to avoid copyright infringement to limit litigation. 
In creating my Padel, I attempted to adhere to Mayer’s Pre-training Principle, Spatial Contiguity Principle and Coherence Principle.  The Pre-training Principle should improve learning through a basic understanding of the material, the Spatial Contiguity Principle should draw attention to the most important materials and by not adding a bunch of ancillary resources to the main Padlet area I am accommodating the Coherence Principle. 


Reflection:

Being a software engineer and having to train other software engineers on best practices has forced me to become familiar with Copyright issues.  This week’s readings reinforced what I already knew on the subject.  I did enjoy using Padlet and hope to find other ways to use it in the workplace.  As stated above, I tried to be consistent with my good design principals and using a tool like Padlet made that pretty easy.
One way in which I grew was I happened upon a YouTube video where lawyers review what is and is not fair use.  It was highly informative and I would recommend it as supplemental material for this course. See below:






1 comment:

  1. Hi Eric,
    I couldn't help but try to read some of the codes and remind myself my C++ years. :)
    I liked the your choices of links on your padlet. I like padlet because it gives you more than a link and a visual representation about the link. That way, I can first see if I am interested in the link.
    Software copyrights are quite complicated. One can always argue that "that is the only way that code could be written," which would not be true.
    Thanks for your post.

    ReplyDelete