Know, Do, Become

Elder Kerr, October 8, 2013 devotional – “I hope to have communicated to you the importance of viewing learning as a progressive process —that we not just learn ‘about’ something, but that we learn ‘from’ it—that learning is not just about acquiring knowledge; it is all about becoming the people we ought to be.”

“We should all learn for ourselves but not by ourselves.”

“As tech jobs evolve at the pace of light through fiber-optic cable, Saunders and other leaders of tech firms such as Mozilla, Reddit and Tumblr say students should consider schools that not only will teach them traditional skills like coding, but also the softer skills that aren’t listed in the course guide but are essential to the 21st-century workplace: working with others, problem-solving, the ability to pick up enough from disciplines other than their own to create products users believe are indispensable to their lives.” The full Washington Post article.

A former student’s ideas concerning education and learning

This is not a programming course.

Software development is a process. It has different parts that interact as software is produced. Exactly how each of these parts is accomplished depends on which methodology you choose to use. The parts are Think, Design, Create Tests, Create Solution, Ship, Repeat. This course focuses on the first four software development parts.

The Think part of software development resolves some basic questions. They are:

  1. What is the problem?
  2. What are some potential code-level solutions to the problem? (brainstorming)
  3. What do I need to learn to code a solution to the problem?
  4. When will I learn what I need to know?
  5. How will I learn what I need to know?
  6. What resources for learning do I have?
  7. Learn what I need to know. (Sandboxing)

In a programming course, answers to questions 1 – 6 are pre-defined by the people who designed the course. This means that creators of programming courses hope the students focus heavily on item 7. For more information about the other three software development parts please read the first chapter of this course’s required book listed in the syllabus.

While you will learn about mobile user interface design and more about existing libraries and the functionality they make available to Java, this course is much more than just that. It is a course about learning these things as part of a software development process experience while applying a software development methodology of your choice.

This is not an Android programming course.

You will be exposed to Android development tools, explore mobile user interface design, and learn about a few of the user interface elements and user interactions the Android API makes available but there is no in-depth study of those topics. There are many on-line courses, videos, and blog postings that do a good job covering those topics.

This course is designed to help you learn about software development and to allow you to experience education as described by Elder Kerr.  It doesn’t matter if you career will be writing software, designing networks, designing databases, working as a project manager, or working in any other part of IT, you can use what you learn in this class. The software development processes parts are not unique to software development. They are used in all efforts by human beings to create quality components and systems; when we build anything of worth.

The simple development process for this class:
  1. Think

  2. Design

  3. Create Tests

  4. Create Solution

is taught and stressed.  Each of these parts will give you the information you need to complete the next part.  Because of this, using this process will decrease the amount of time you spend working on a solution.

By working well with your team you will learn how to work in a simulated business environment.  In that environment everyone works in teams.  The instructor will assist you in working with your team.  You will not be given a team grade for any assignments.


Sandboxing – the process of learning by exploring how an object, method, function, or a programming construct works by playing with it outside of the solution you eventually will create. Playing with it consists of seeing how it works when used correctly and what happens when it is misused.

This is not an official BYU- Idaho web page.


Leave a comment