![]() |
APPM 1710 - Tools and Methods for Engineering Computing |
|---|
Lecturer: John Flynt
email: john.flynt@colorado.edu
Fridays are reserved for scheduled appointments.
| Class location, days, and hours: | ECCR 143, M W, 3:00 - 4:40 |
|---|---|
| Office location, days, and hours: | ECOT 242, M W, 2:00 - 2:50 |
All the equipment you need is provided in the classroom. The applications and languages we deal with are as follows:
The university provides a solid set of policies regarding the conduct of classes. If you have any concerns at all that fall into this area, please stop by after class or during office hours.
Note that if your card is to work for accessing ECCR 143, then you must go to a link provided by ITS and register. Use the following procedure:
To complete this class successfully, daily attendance is recommended, along with completion of each of the labs and the worksheets that accompany the labs. Most of the labs will be written and published as PDF files, so you can work them on your own. It is suggested that you work during class and for a few hours outside of class each week. You will have to make arrangements to work in the lab during outside hours. Generally, any lab in the engineering school will provide PCs that have the same configuration as those in ECCR 143. Hours during which the lab is open are posted.
| Area | Percent | Description | |
|---|---|---|---|
| Projects | 70% | There are quite a few assignments for the course. These consist of three types of project:
|
|
| Class Participation | 15% | Attendance is required. Your participation involves being in class, working on the labs, and showing interest in the topics. Many situations arise in which your expertise on a given topic might prove helpful to others, and on such occasions, you will be called upon to help out. Helping out might involve helping someone else complete at task or taking a few minutes to talk about something you have done are are doing. | |
| Final Project | 15% | The course requires a final project. The final project can be from any of the areas of programming we study. The final project includes the following components:
|
|
|
Due Date Policies. All work is due the week after it is listed in the schedule for the course. Work will be collected on Wednesdays. This means that you have nine days to finish work begun on a Monday and exactly a week to finish work begun on a Wednesday. In some cases, if I think it important to do so, I will alter the schedule somewhat, slowing down for a day or two. On the other hand, I will try to preserve the schedule and do all that is scheduled. In this respect, some weeks you might do only one lab, while the next, things will be concentrated a bit, and you might do an extra lab. Whatever the change, however, every attempt will be made to keep things at an even pace so you can plan your work, and the policy of collecting work the week after it is assigned will be maintained. No late work will be accepted without the appropriate documentation showing an excused absence, such as a medical, family, or university-related and sponsored activity. As a general rule, assignments will not be accepted through email. All work initiated during the final week is due by the last day of the course, which falls on December 1. If there are any variations to these policies, they will be announced in class and will apply to everyone equally. Please do not request exceptions, and plan to work steadily to get the work done on time. As a standard policy, all late work will be assigned a 0. If you do not turn in a worksheet, for example, but turn in the lab, then figure that a 0 will be averaged into the two grades according to the percentages given. Absence of the worksheet, then, given perfect completion of the lab project, would drop your grade from 100 to 80. The College of Engineering maintains a code of ethics, and it is expected that you will abide by this code when you take this class. I do not discourage people from working in pairs or groups, but I caution you not to turn in work another person has completed or to allow others to turn in work you have completed. This hurts everyone, since learning is something that takes place as one of those wonderful outcomes of life that is a combination of strong individualized and cooperative efforts. Do your part and encourage others do the same; be helpful; teach whenever you can; don't be afraid, ever, to ask for or offer help; work together to get the best from the experience. | |||
Some people might be able to complete the class without using textbooks. I have not made any assignments directly dependent on the books. However, if you are a beginning programmer, purchase of the textbooks is helpful, especially with respect to MATLAB. In such cases, I will do what I can to make the questions available in pdf files, but it remains that some questions will refer to passages in the texts, and being able to review them will be extremely helpful.
Generally, I don't recommend trying to get through the course without the books if you are not already confident about using the web to obtain information on programming languages and programming problems. Also, if you have any interest in using Flash, MATLAB, Java, or Excel over your academic or professional career, then I suggest building some type of library. The books in this course will be good investments in that respect. The topics we are dealing with will remain stable for some years to come. The tools, in any event, have now been around for twenty or so years each, and during that time, the features have stabilized.
An effort is made to make the labs fairly self-contained, but this is very difficult given a course with as many topics as this one presents. The labs will be available to you in PDF files. Save them as you go to make yourself a textbook for the course. Recognize, however, that it is extremely difficult to make labs completely self-contained, and I will probably end up making references to the textbooks.
By the way, with the exception of the MATLAB book, these are all soft-cover mass market books, so the prices are far less than what they would be if we used regular textbooks, which increasingly cost between $100 and $200 dollars. These are all in the $30 - $50 range, and you are likely to be able to find used copies.
Shupe and Rosser. Learning ActionScript 3.0: A Beginner’s Guide. The Shupe book (Flash) is especially helpful for those who are completely new to programming and is the best introduction I know to ActionScript. It is not a good introduction to Flash from the "artistic" perspective.
Deitel and Deitel, Java : How to Program, Eighth Edition. The Deitel book has been around for a long time and is a standard reference for Java.
John Walkenbach, Excel 2007 Power Programming with VBA, Wiley, 2007. Note that this is not the same book you will find in the bookstore at the start of the term. The book I ordered for Excel, unfortunately, is not very good other than as a general introduction to how to write a few scripts in Excel. For this reason, I don't suggest buying it at all. I will order the alternative, by John Walkenbach, and this will be at the bookstore, I hope, by the time we get to Excel later in the semester.
William J. Palm, Introduction to MATLAB 7 for Engineers, McGraw-Hill, 2005. The Palm book is one that you will see again in labs for differential equations, linear algebra, and other such courses, including those that concern topics specific to different areas of engineering. I it is a very good book, used by Adam Norris (in the Department of Applied Mathematics) and others who teach the advanced courses. This course provides an introduction to MATLAP that, it is hoped, will make it more rewarding when you employ it in bother the more advanced courses and in general engineering contexts. People often run into problems in the more advanced contexts because of simple things, such as losing their work due to questionable work management procedures. With luck, exposure to the topics offered in the context of this course will eliminate such difficulties.
|
|---|
| Projects representing work that draws from topics presented in this course can be accessed on a separate page. |
|---|
Labs and other material are posted on this site as the course progresses. The assignments for each day appear the day the assignment is announced and reviewed in class.
Most of the lectures require you to access the class web site, so when you show up for class, access your browser and then the class web page. The components for the class are as follows:
This schedule represents a tentative set of activities. However, the general structure of the class will remain as shown in terms of the number of weeks dedicated to each topic. Specific assignments will be adjusted as the course progresses.
FlashProjects in bold are required and will be worked in class. Projects in italics are optional or will be assigned as homework. |
||
| Week 1: M, 8/22; W, 8/24 | Flash Interface. (Bug 1 - 2) | Flash Interface. (Bug 2) |
| Week 2: M, 8/29 W, 9/31 |
AS Data Types (Command-line Tip adder)
AS and Components--Interface Tip adder |
Math and Selection (Fahrenheit / Celsius) |
| Week 3: M, 9/5; W, 9/7 | Labor Day - No class |
Repetition, Timers, and Matrices
Selection and Arrays - Fortune Teller |
| Week 4: M, 9/12; W, 9/14 |
Functions, String, RegEx
Quote Me: Aphorisms XML Hanging Words Game |
OO Programming
House Energy |
| Week 5: M, 19/; W, 9/21 |
Air Raid
Associated Classes Publishing Using Javascript, HTML, and CSS |
Air Raid
Bitmaps and the Baskets Application Drag and Drop |
Java |
||
| Week 6: M, 9/26; W, 9/28 | Java: Scratch, NetBeans, Applets, Console | Applet Drawing |
| Week 7: M, 10/3; W, 10/5 | Java: Selection, Reference Types | Java: Repetition and Arrays |
| Week 8: M, 10/10; W, 10/12 | Tip Adder Application with NetBeans GUI Builder; Fortune Teller Applet with the NetBeans GUI Builder | Repetition Statements and Exception Handling;
Guess Numbers |
| Week 9: M, 10/17; W, 10/19 | Object-Oriented Programming; Applets, Applications, and Deployment | Animation Works |
MATLAB |
||
| Week 10: M, 10/24; W, 10/26 | Intro to MATLAB - 0100 | Fundamentals of Math in MATLAB - 0200 |
| Week 11: M, 10/31; W, 11/2 | Vectors and Arrays with MATLAB - 0300 | Vector and Matrix Manipulations - 0400; Programming with MATLAB - 0500 |
| Week 12: M, 11/7; W, 11/9 | Matrices and Various Operations - 0600 | Plotting, Statistics, and Functions - 0700 |
| Week 13: M, 11/14; W, 11/16 | Solving Symbolic Equations - 0800 | Intro to EXCEL |
Excel |
||
| Week 14: M, 11/28; W, 11/30 | Excel: JW 5- 9 | Excel: JW 9 - 11 |
| Week 15: M, 12/5; W, 12/7 | Excel JW 11 - 18 Final Project Description |
Final Projects |
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|
|---|
![]() |
|---|
This lab allows to you load XML data to be used in a game scenario.
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
This lab involves three parts and incorporates four different classes. It is one of the larger challenges of of the term.
![]() |
|---|
This lab involves three parts and two main classes. It is one of the larger challenges of of the term.
![]() |
|---|
![]() |
|---|
![]() |
This lab allows you to create an HTML page for your application. The instructor will provide detailed instructions about how to name the files and folders in which you save your project. You must provide your *.fla file along with the other files needed for web display. |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
Other Excel labs might be added.
MATLAB |
||
| Intro to Excel 0100 | Graphics and Excel- 0200 | |
| Excel 0300/Workday | Presentations | |
|
|---|
There is more to be added, and the material presented will be revised. Do not use this material until told to do so in class.
![]() |
|
|---|
![]() |
This lab allows you to create an HTML page for your application. The instructor will provide detailed instructions about how to name the files and folders in which you save your project. You must provide your *.fla file along with the other files needed for web display. |
|---|