Course Highlights
Target Population: This course is intended for students and people wanting to be part
of the Information Technology (IT) profession.
As an introduction into the world of computer
programming
here's what you'll learn by taking this course:
- How to design and implement a computer program
- Writing a program that will make different types of decisions
- How to solve problems using computer programs that remember things, make decisions, and
perform repetitive tasks.
The first half of this course uses Alice, a 3-D programming environment designed
at Carnigie Mellon University to teach programming concepts while you have fun making 3-D, animated
movies.
The second half of the course uses JavaScript, a popular language used for
client-side scripting web pages.
This course uses up-to-date teaching techniques allowing you to learn by reading,
listening, experimenting, and writing your own code. Each module has specific learning activities
designed to help you learn in an interesting and fun manner.
This course is part of the
Web Programming
Certificate
and the
AAS Information Systems programming degree
at South Central College.
(A more detailed list of
learning objectives
is given below.)
Course Details
Programming Fundamentals- COMP1000 - Spring Semester, 2007
Section 01 Room C169 (near door #7 - Gold Lot) Tuesday/Thursday 2:00-2:50
This course is available as an on-line course with the instructor's permission.
Credits - 2 credits (1 lecture - 1 lab)
Required Text:
Alice 2.0: Introductory Concepts and Techniques
by
Shelly, Cashman, & Herbert, Thomson Course Technology,
ISBN 978-1-4188-5934-3
JavaScript: A Beginner's Guide, Second Edition
by John Pollock, McGraw Hill/Osborne,
ISBN 0-07-222790-7
Required Software:
Alice - Available at
http://alice.org
. This is a 3D programming environment which is free, open-source software, developed by Carnegie
Mellon University.
TextPad (or similar text editor)
- Available at
http://textpad.com
. This is a shareware program that costs $30. Student discounts are available. This text editor
is used as the editor-of-choice in several computer careers courses.
FireFox browser - Available at
http://www.mozilla.com/en-US/firefox/all.html.
This is an open-source browser with many excellent extensions that will make your programming
much easier.
It is recommended that you have at least one flash drive to store you work and class information.
(Please back up your data on a regular basis!)
For more information contact:
Peter K. Johnson
, Instructor
email:
peter.johnson@southcentral.edu
phone: 507 389-7337
Prerequisites
-
Minimum typing speed of 20 wpm
Find your typing speed at
http://typingtest.com
Here's a free, open-source typing programming that's fun to play:
TuxType
- Web Programming I (COMP1400). Web Programming I may be taken concurrently
with this course. You will need to have a basic understanding of (X)HTML for the second half
of this course which uses JavaScript.
Note: Prerequisites ensure that you are at the correct learning level for the
course. Please feel free to contact the instructor to help you determine your expertise level if
you have not completed the prerequisite courses.
Learning Objectives
Part I - Learn Programming Concepts Using Alice
Install and Use Alice
Establish the steps in designing and implementing a program.
Use the built-in functions to control objects.
Use expressions and variables as the program's short-term memory.
Use object-oriented concepts
Describe the difference between a class and an object
Use methods to do things.
Use parameters to describe the object and communicate with methods.
Write interactive programs using events and event handling.
Get input from the user
Link events to methods
Describe what triggers an event and why all events are not handled.
Make decisions using if/else statements
Use simple if/else statements to make decisions
Use nested if/else statements
Generate and use random numbers to control the program
Extend decisions using indefinite and definite loops
Use a counted loop to repeat an action a definite number of times.
Use the while conditional loop to repeat an action an indefinite number of times
Include a loop within a loop
Use arrays to create lists of objects
Build a list of things
Use a loop to iterate through a list sequentially
Use a loop to iterate through a list simultaneously.
Store actions in a list
Part II - Client-Side Scripting Using JavaScript
Program
a web page that utilizes the <script> tag.
Compare the compatibility issues of JavaScript with each version of popular browsers.
Demonstrate proper use of XHTML and JavaScript commenting within a web page.
Use variables.
Write a paragraph describing the three different data types.
Declare and initialize different types of variables
Convert different data types using methods such as parseInt( ) and parseFloat( ).
Examine and fix programs using debugging techniques and tools.
Write special print statements to help track contents of variables.
Use selective commenting to determine where bugs are located in code.
Use functions.
Declare functions
Call functions
Call functions with parameters
Use functions that return information
Utilize operators and expressions.
Use the mathematical operators
Use assignment operators to store information
Use the comparison operators to formulate an opinion
Use logical operators to make a decision
Demonstrate the use of control statements.
Demonstrate the use of the if/else statement.
Demonstrate the difference between if/else and switch statements in a program.
Demonstrate use of the for statement in a JavaScript.
Demonstrate use of the while statement in a JavaScript.
Demonstrate the scope of variables.
Incorporate Events and Event Handling
Use the click event: onClick
Use the mouseover event: onMouseOver
Use the load event: onLoad
Use the focus event: onFocus
Demonstrate the Class/Object Model.
Demonstrate how to create a JavaScript object.
Demonstrate the use of String objects in a program.
Demonstrate the use of Math objects in a program.
Demonstrate the use of Date/Time objects in a program.
Demonstrate the use of the Array objects in a program.
Explain the difference between a primitive, an object, a property, and a method giving examples
of each.
Demonstrate creating interactive forms using JavaScript.
Create a web page that uses all the HTML form elements using a JavaScript program.
Demonstrate the onmouseup and onmousedown button events.
Demonstrate validating data from a form.
Demonstrate at least five string methods to parse data input by the user.
Grading
A 97-100%
A- 90-96
B+ 97-89
B 84-86
B- 80-83
C+ 77-79
C 74-76
C- 70-73
D+ 67-69
D 64-66
D- 60-63
F Below 60%
The grading for this course is performance-based. You will not be graded a curve. This means
that your grade is based on the work you do and not on what grade others in the class receive.
As your instructor I am the record-keeper of your points. I do not “give you a grade”;
I only keep track of the scores you receive.
You will earn your grade by demonstrating your knowledge of the learning objectives listed at
the bottom of each learning activity page. Complete the work according to the specifications
and you will receive points accordingly.
One hint: This is a project and participation-based course. For example, most
projects are worth 25 points while a quiz in the same module might only be worth only 10 points.
This focuses your efforts on demonstrating your knowledge in applying your learning,
not just knowing the facts or memorized information. (It also makes the things you learn in
this course much more useful in the real world!)
Course Policies
Be responsible for your own actions.
Respect due dates - No late projects, papers, or quizzes will be accepted unless you
have made prior arrangements in writing with the instructor and have a valid and documented
reason. All late projects that are accepted will receive a 10% point penalty.
Quizzes - Make-up quizzes must be done on or before the next class session. A 10% point
penalty will be taken off the total available points on any make-up quizzes.
Incomplete - An incomplete is granted due to serious extenuating circumstances (e.g.
a death in the immediate family, hospitalization, etc.) near the end of the semester when the
majority of the coursework has been successfully completed. An incomplete will not be granted
for failing work.
Cheating - All graded projects must be your own work only. Cheating or plagiarism is
a serious breach of academic ethics and could lead to sanctions including expulsion from college.
When taking tests, protect your answers from others. If cheating is discovered, all participants
will be penalized.
Special Needs -
If you have a disability and need accommodations to participate in the course activities, please
contact your instructor as soon as possible. This information will be made available in an alternative
format, such as Braille, large print, or cassette tape, upon request.
Student contributions - Students are expected to:
-- Participate in course discussions and actively participate within their team.
-- Complete all projects on or before the deadline.
-- Read all assigned material before class or chat sessions.
The Bottom Line -
I am here to help you learn and understand the material presented in this course. Please let
me know if you do not understand any concepts or projects in this class. Feel free to clarify
any questions you may have during class, at my office, or via email. I am also open to any suggestions
you may have that would make this course more interesting and/or useful.
Peter K. Johnson