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.
“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:
- What is the problem?
- What are some potential code-level solutions to the problem? (brainstorming)
- What do I need to learn to code a solution to the problem?
- When will I learn what I need to know?
- How will I learn what I need to know?
- What resources for learning do I have?
- 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.
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.
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