Study Aids

Here is a link to some very good study helps audio files. Please go over these prior to the first day of class and make good use of them. All you need to listen to them is iTunes. They are produced by Texas A&M not BYU-Idaho.

Leave a comment

Know, Do, Become

“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.” Elder Kerr, October 8, 2013 devotional

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

The Design part will consist of designing the User Interface (UI) using mobile design principles and designing how you will implement the code. The code design can use any tool you wish. This could be pseudocode or, if you know it, UML.

The test part of this class will be limited to implementing system tests. These will consist of a series of steps the person testing the software will take and what they should see on the screen when they take that step. The steps defined in the test should include correct and incorrect use. When incorrect use occurs, the test should describe what the tester should see in that case. By defining these tests before you create the software you will be able to tell when it is complete.

While you will learn more about existing libraries and the functionality that make available in JavaScript and mobile user interface design, 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 nor an iOS programming course

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

You will learn a great deal about existing libraries and functionality available in HTML5, CSS3, and JavaScript, how to use them, experience more programming techniques, and learn mobile user interface design but this course is much more than just that. It is a course about learning these things while experiencing the software development process and applying software development methodologies.

This course is designed to help you learn about these things and to allow you to experience education as described by Elder Kerr. It doesn’t matter if you will be working writing software, designing websites, designing databases, working as a project manager, or working in any other part of IT, you can use what you choose to learn in this class.

This is not a JQuery, AngularJS, or other framework course

All frameworks and libraries have their plusses and minuses including being larger in size that code you write yourself. If all you know is one or more frameworks, you don’t know JavaScript. If you don’t know JavaScript you can’t do an evaluation of your app design to see if using a library would be beneficial. You can’t do this evaluation since you don’t know how to “do it on your own.” If you can’t compare using a library against writing code on your own you haven’t done a professional evaluation.

All JavaScript frameworks are written using JavaScript. There is no magic. There is no silver bullet. There is no framework that will solve all your problems. There is no framework that is “best.” You are learning to be a professional. That means you need to know how to write JavaScript yourself.

Please explore and listen to The Big Picture.


It is assumed that you have knowledge of and experience with HTML and CSS prior to taking this course.
This is not an official BYU- Idaho web page.

,

Leave a comment