160: Introduction to Algorithmic Design I
(as of August 14, 2018)
McElfresh (pronounced mac' - el- fresh)
(checked more frequently) or mcelfreshsa @ longwood.edu
- Th 11am-12noon
- or when I am in my office with the door open
- or by appointment
Other times may be announced in class or on the website.
Course Web Page:
of the handouts in this course will be available through this World
Wide Web address.
Canvas will be used for
submission of some assignments and recording of grades on individual
assessments. You may wish to set up Canvas to send you an
grades and/or feedback is entered. NOTE: Canvas
does not always
calculate course grades correctly. The relative weights are
in this syllabus.
From the catalog:
"An introduction to
problem solving and algorithmic
using an object-oriented
language. Topics include
logic, iteration, functions,
arrays, memory management,
data types, abstraction, and
analysis. 4 credits."
At the end of the course, a successful
student will be able to:
- implement algorithms using C++
- read, write, and debug programs that use standard control
such as if/else, loops, and functions;
- appropriately choose among the fundamental programming data
- use standard design strategies for ensuring that programs
Textbooks: There is one textbook
required for this course.
Technology: It is
assumed that you have a laptop that you can bring to class and can
install software on if necessary. The software to be
used is free. It is assumed that you can access the
LancerNet wireless network (the LancerNet Visitor will not suffice).
- C++ For
edition., by Horstmann (should be
- Used copies are fine. We will not be using
their online system.
Pictures, Audio, and
should not take audio or video recordings in the classroom without
prior permission. Still pictures of the board may
be taken as a
supplement to note-taking. However, these should
not be posted
online or elsewhere such that they might be shared with someone not
enrolled in the class.
are expected to attend the section for which you are registered unless
arrangements have been made ahead of time.
The exercises in thiscourse will include readings, program
program/script creation, or other work.
come from three scenarios:
Some class days will be "lab days" where there will be an
exercise to be completed in class. Some of these will be
individual assignments while others will be group or paired work.
Labs will be due at the end of the class period.
You will need to have your laptops on these days.
Late submissions due to absence will require permission and
incur a 50% penalty. Note: These days will most
be held on Thursdays, but there may be other days as well.
non-Thursdays will be announced ahead
These will be assignments to be completed outside
class. Some of these may be due the very next class period
others may have a longer handin horizon,
depending on the nature of the
Late submission will require permission and may incur a 50%
There will be assignments that contain a portion
to be done in class
and a portion to be done outside of class. Late
require permission and may incur a 50%
Feedback: Some assignments will be drill exercises
with minimal feedback (it works or it doesn't) while others
receive more feedback on things like style and partial correctness.
This should be clear on each exercise.
the varying nature and horizon of assignments, some assignments will be
worth more than others. The overall exericses grade will be
determined by adding up the number of points received on
exercises, and dividing that number by the total number of points that
was possible to recieve on exercises.
There will be quizzes
throughout the semester. These will typically take
the form of
short (5-15 minutes) sets of questions. There will be no
given. If more than 5 quizzes are given,
two quiz scores for each student will not be calculated into the course
There will be two in-class exams. They
will be given on the following dates:
#1) Wednesday, September 26
#2) Friday, November 9
There will be no makeup exams given without proper medical
be a comprehensive
written exam. More details on this will be
announced as the time
- Section 01: Monday, December 3, 3-5:30 pm
- Section 02: Friday, December 7, 8-10:30 am
SPECIAL NOTE: Exercises that
are not handed in, or quizzes and exams not taken will count as a 0.
Canvas does not always calculate these accurately.
relative weight of each item in determining
your course grade will be as follows:
||Course Grades will be assigned as
+'s will be assigned in the top 2 percentange points of the range.
|90 - 100
|80 - 89.9
|B-, B, B+
|70 - 79.9
|C-, C, C+
|60 - 69.9
|D-, D, D+
| 0 -
-'s will be assigned in the bottom 3 percentange points of the
Unless otherwise specified, all work is assumed to be your
are encouraged to discuss the exercises with other students, but you
write up your own solutions. Some guidelines:
be made in class to describe these issues. If you have any
as to what is appropriate and what is not, please ask me about it.
- When you
with other students, you must indicate this on your submission - by
a note at the top or bottom indicating with whom you consulted and a
of the level of consultation.
- When using a calculator or
you are expected to type everything in yourself.
- You should never be using "Save As" for another person's
computer files or emailing your work to another student for them to
modify and hand in.
exercises may explicitly allow (or even require) pair or group-work.
In these cases, it is assumed that each person contributed
the work being submitted.
- When doing
computer programming, you will often be utilizing someone else's ideas
or code and modifying them to be your own. In this case, you
fully document this in the program comments as well as any other
documentation. For some guidelines, see the Academic
Honesty in Computer Programming handout.
Longwood University is an academic community that
subscribes to an honor system.
By accepting membership in this community, we all assume the obligation
to be trustworthy in all pursuits. Violations may receive
grade penalties in the course and be referred
the Honor Board, which may impose additional penalties.
University provides many services, including those addressing
disabilities, mental health issues, and sexual misconduct.
for more informaton on these resources.
Tentative Topic outline:
| Week || || Dates || || Topics |
| 1 || || Aug 20-24 || || Programming Basics; Console I/O |
| 2 || || Aug 27- 31 || || Console I/O; calculation; strings |
| 3 || || Sept 3 -7 || || Conditionals |
| 4 || || Sept 10- 14 || || functions; parameters |
| 5 || || Sept 17- 21 || || while loops; algorithms |
| 6 || || Sept 24-28 || || Algorithm Verification; EXAM |
| 7 || || Oct 1 - 5 || || More Algorithms; for loops |
| 8 || || Oct 8 - 12 || || files; algorithms |
| 9 || || Oct 15 - 19 || || Fall Break; vectors |
| 10 || || Oct 22 - 26 || || vector algorithms; structs |
| 11 || || Oct 29 - Nov 2 || || efficiency |
| 12 || || Nov 5 - 9 || || EXAM: 2D data |
| 13 || || Nov 12 - 16 || || recursion |
| 14 || || Nov 19 - 23 || || TBA; Thanksgiving |
| 15 || || Nov 26 - 30 || || TBA |
| || || Dec 3 - 7 || || FINAL EXAM |
A detailed day by day calendar will be kept up-to-date on the course