| For information on CS 121 -
Computation Lab I - Summer 2007 |
CS 121 - Computation Lab I - Summer 2007
Course Description
Introduces mathematical computation and computer
programming
through
the use of a symbolic computation system.
Programming techniques and
algorithmic problem solving are introduced in the context of the
differential calculus. Illustrates the power and limitations
of
the computer in solving mathematical problems.
Course Goals
To provide students with the skills to effectively
use a
symbolic
computation system to solve mathematical problems and to introduce
students to programming and algorithmic thinking. To
reinforce
concepts from mathematics by presenting them in an algorithmic and
computational manner and to learn concepts from computer science in the
context of mathematical computation.
Course Objectives
- To be able to use a symbolic computation
system to perform
routine mathematical computations.
- To be able to use programming constructs to accomplish
tasks and
to automate sequences of computations that would be laborious to do
manually.
- To be able to conceive and implement algorithms to
solve
problems.
- To use the computer to perform computational
experiments
and to formulate mathematical conjectures based on the results.
- To view mathematics from a computational point of view.
Audience
This is a required freshman level course for all
engineering
and computer science students.
Classroom
CS 121 is offered this term as an online course.
Instructors
|
Course |
Instructor |
Position |
Email |
Office Hours |
|---|
| |
Dr. Frederick W. Chapman |
Course Coordinator |
|
|
| CS 121 |
Mr. Nam Pham |
Course Instructor |
nhp25@drexel.edu |
By appointment |
| CS 122 |
Mr. Timothy Cheeseman |
Course Instructor |
twc24@drexel.edu |
By appointment |
| CS 123 |
Mr. Daniel De Sousa |
Course Instructor |
dsd33@drexel.edu |
By appointment |
Course
Communications
To access the
official web page for this
course, please use the web address
www.pages.drexel.edu/~nhp25/cs121.html
Textbook
All
students should have
access to a
copy of Maple 10 (available through
Drexel's site license). Instead of a text book, this course
will rely on Maple
documentation and course notes/labs provided as Maple worksheets (see
course web page).
Course
Motivation
Maple
has a wealth of mathematical knowledge built into it and can be used
throughout your college studies and professional career whenever
mathematical computations are required. Maple "knows" all or
almost all of the mathematics you will see in your mathematics,
science, and engineering courses at Drexel. In particular,
Maple
has commands to perform all of the computations you will learn about in
your calculus courses (e.g. limits, differentiation, integration) and
provides functionality, such as plotting, numeric and symbolic
computation, and scripting that will allow you to explore these
concepts.
The purpose of this course is
to help
you become familiar with the capabilities—and
limitations—of Maple and to teach you how to
effectively use
Maple to
explore mathematics, science, and
engineering
concepts.
Maple is a very powerful tool—it is the result of more than
two
decades of development by numerous computer scientists and
mathematicians. Consequently, Maple can be
complicated to
use; however, we hope that after this course, you will become
sophisticated enough in its use that you can overcome these
difficulties and can benefit from its considerable power.
In
order to become an Maple effective user, you must learn some concepts
from computer science; e.g., evaluation (names vs. values),
programming, data structures, algorithms, graphics, user interface
design, theory of computation (what can and cannot be
computed).
This computer science course will introduce you to these concepts in
the context of computations which arise in your calculus
course.
This course will not only help you better understand the
material
in your calculus course—it
will also provide you with powerful computational tools so that you can
apply your
understanding of calculus effectively throughout your careers
as practicing engineers.
Course Topics
- The
use of maple (interface, symbolic computation,
numeric
computation, graphics, and an interactive programming
environment).
- Experimental mathematics (properties of sequences,
equations, and
functions)
- Algorithmic mathematics (differentiation and
equation
solving)
- Elementary programming constructs (variables,
loops,
conditionals, functions)
- Elementary data structures (sequences, lists, sets, trees)
Grading
Policy
| Component | Quantity | Weight | Description |
|---|
|
Final Labs | 1 |
20% | Taken individually.
Submitted via Blackboard. |
| Biweekly Labs |
4 | 80% |
Taken individually. Submitted via Blackboard. |
Course Resources
Software
Maple
10
is available in the CS and Drexel computing labs. Students may also
download
a personal copy of Maple 10 and install it on their
own Windows PC, Macintosh, or Linux computer. To
download
Maple 10, visit the Drexel IRT web page
and
follow the downloading instructions. Please consult the web
page
for
help resolving any problems you may encounter while trying to download
the software.
Documentation
Full
documentation for Maple 10 is available online via the links listed
below.
- Maple
Getting Started Guide.
- Maple
User
Manual.
- Maple
Introductory Programming Guide.
- Maple
Advanced Programming Guide.
-
Maple
10 Quick
Reference Card - Windows Version.
- Maple
10 Quick
Reference Card - Mac OS X Version.
- Maple
10 Quick
Reference Card - UNIX Version.
Reference Books
- Charles F. van Loan, Introduction to Scientific
Computing, 2nd Ed., Prentice Hall, 2000.
Web Pages
- Maplesoft
- Maple
Student Center
- Maple
Essentials
- Maple
Programming
- Maple Application Center
- MaplePrimes Online Maple
Community
Look
Here for Important
Announcements
Schedule
of Events
The contents of the labs for this term are tentative and subject to
change.
| Event |
Date(s) | Description | Links |
|---|
|
Week 1 | 6/25-7/1 |
No Lab | |
|
Week 2 | 7/2-7/8 | Lab 1: Drawing
Lines—A Slippery Slope: An Introduction
to Maple. Reviews high school algebra using
Maple. Introduces
plotting and equation solving. Students will use Maple to
determine a line given two distinct points, interpolate a quadratic
through three points, and find the best line going through a collection
of points scattered about a line. Discussion will
introduce interpolation and least squares. Submit via
Blackboard | Lab 1
Worksheet
Lab 1
Summary |
| Week 3 |
7/9-7/15 | No Lab | |
|
Week 4 | 7/16-7/22 | Lab 2: The
Quadratic
Formula—Searching
for Your Roots. Reviews high school algebra
using Maple (quadratic
equation and complex numbers). Students will investigate which
quadratic equations have real roots and will empirically compute the
probability
that a random quadratic
equation has real roots. The
empirical investigation will require students to write small Maple
scripts (programming with loops and conditionals). Beyond the
introduction to programming, the lab will attempt to convey the spirit
of using Maple in particular and computers in general to perform
empirical studies. Discussion will introduce polynomial root finding
and solvability of polynomial equations. Submit via
Blackboard | Lab 2
Worksheet
Lab 2
Summary |
| Week 5 |
7/23-7/29 | No Lab | |
|
Week 6 | 7/30-8/5 | Lab 3: Sequences,
Limits, Functions, and Procedures.
This lab revisits sequences and introduces Maple procedures
and
recursion. Sequences are used to empirically study limits,
and
Maple's limit
command is
used to symbolically verify the empirical behavior that is
witnessed. We will see that it is easy to define your own
functions in Maple. The arrow operator can be used to define
simple functions that map an input to an arbitrary Maple expression.
More complicated functions (for example, using arbitrary
programming constructs such as loops and conditionals) can be defined
using Maple procedures. Maple procedures let you extend Maple
by
adding your own commands. Submit via
Blackboard | Lab 3
Worksheet |
| Week 7 |
8/6-8/12 | No Lab | |
|
Week 8 | 8/13-8/19 | Lab
4: Computing Derivatives. This lab
shows how to differentiate Maple expressions and functions.
First, the limit
command is used to compute derivatives using the definition of the
derivative, and then Maple's diff
command is used to symbolically differentiate Maple
expressions. Maple's differentiation operator D(...) is used
to symbolically differentiate Maple functions. The lab gives
some indication of how Maple's diff
command could be implemented and illustrates how to compute the value
of the derivative of a function at a point using a process called
"numeric differentiation."
Submit via Blackboard | Lab 4
Worksheet |
| Week 9 |
8/20-8/26 | No Lab | |
|
Week 10 | 8/27-9/2 |
Final Lab will cover Labs
1–3 and will use Maple. Lab 4 will be tested next term. Exams
will be
submitted online using Blackboard. Submit via
Blackboard | |
Frequently
Asked Questions (FAQ)
FAQ1: How often does this
class meet?
This is an online course so there will be no class
meeting.
FAQ2:
Do we submit the
labs
to be graded?
Yes, you have to submit your lab using Blackboard.
It will be graded by your instructor and returned in the next week.
FAQ3: When
am I expected to
finish each lab?
Yes, you have to submit your lab before the due
date using Blackboard. In case Blackboard has problem, you might send your lab
to my email. Remember to include your full name, your student ID number and your
DrexelOne username.FAQ4: Where can I get extra
help outside of class?
Currently I am not holding any office hour.
If you need extra help, you can always send email to me. You
can
also get extra help any time via the online course discussion
group on Blackboard. If all else fails, please email me to set up an
appointment.
FAQ5:
May I attend CS 121, CS 122 and CS 123 at a same time?
Yes, you
can. But it will be more difficult since CS 122 requires some knowledge from CS
121, as well as CS 123.
FAQ6:
How do I make up a missed lab?
Since all labs are posted online,
I am not accepting any missed lab.
FAQ7:
May I submit my labs a few weeks before the due date?
Yes,
you are encouraged to do the labs as soon as possible.