Appalachian State University
CS2531 Computational Reasoning
Dr. Patricia Johann
Spring 2024
Course Information
Topic: |
|
From the most elementary hardware to the most sophisticated software,
all of computer science is based in discrete mathematics. This course
covers a range of topics in discrete mathematics that are particularly
important in computer science. It emphasizes relationships between
certain mathematical structures on the one hand, and their
applications in computer science on the other. But since it treats
mathematical knowledge as primary rather than as something to be
picked up "on the fly", this course provides an opportunity to focus
on building a solid mathematical foundation for computer science. This
is crucial: after all, no computer scientist has ever said that they
wished they had less mathematical background or understood mathematics
less well!
|
Objectives: |
|
- To introduce you to (some of) the key discrete mathematical ideas
underlying computer science
- To help you understand these foundations and their significance
- To help develop your ability to work effectively with these
foundations and apply them to a variety of computational problems
- To help develop your facility with logical reasoning about
computation
- To help develop your ability to read and write formal proofs
|
Delivery: |
|
All course activities --- lectures, class meetings, discussions,
office hours, homework, exams, etc. --- will be in person this
semester. Please contact me immediately if you
do not have access to appropriate technology for this course or
otherwise have difficulty accessing it. Please contact me
immediately if you have ODS accommodations in place and plan to use
them.
|
Contact Information
Professor: |
| Dr. Patricia Johann |
| Phone: 828 262 7008 |
| Office: Belk 312M |
| e-mail: [email protected] |
Office Hours: |
| MWF 10:00 - 11:00 and whenever I am in the department
(which is most of the time) and not with someone else.
Please feel welcome to just drop by my
office, or to email or phone to set up an appointment if you
would like to meet at another time.
I will be very happy to meet with you if I am not already with
someone else at the time you suggest. |
COVID-19 Arrangements
Please do not attend class if you become ill with COVID-19. But please
do inform me before your first COVID-related absence to inform me that
you are unwell.
Even though you will not attend class if you have COVID, you will
still be expected to keep up with the course material. You can do this
in any way that suits you --- e.g., by reading the text, getting notes
from a classmate, and/or attending zoom office hours. (Links on CS2490
AsULearn page.)
Even if you have COVID, assignments will still be
due at the normal times unless special arrangements are made with
me before they are due.
Special arrangements for exams will be considered on
a case-by-case basis; to make arrangements, contact me as early as you
possibly can before the exam. Arrangements after assignments
and exams are due will not be considered except in truly exceptional
circumstances.
Course Resources
- The CS2531 AsULearn page, which can be accessed in the usual way.
- The textbook for this course, which is the zyBook CS2531
Computational Reasoning. To access it, create an account
at learn.zybooks.com, enter
the zyBook code APPSTATECS2531JohannSpring2024, and subscribe.
Policy on Attendance
I expect you to come to class (and to come prepared) whenever you are
physically able. Your attendance will not contribute directly to your
course grade (see Course Logistics below),
but I will contact you after your fourth absence of the semester to
remind you that your overall course grade will go
down by a third of a letter grade starting with your fifth
absence. For example, if you had earned a B+ in the course but
had been absent 8 times, then your course grade after taking
attendance into account would end up being a C, since decreasing a B+
by (8-4) * 1/3 = 4/3 of a letter grade is B+ -> B -> B- -> C+ -> C.)
Your four "No Questions Asked" absences are intended to cover all
manner of events, including (but not limited to) minor illnesses, job
interviews, other conflicting activities, oversleeping, deaths in the
family, family vacations, not attending the first days of class even
though you are enrolled in the course, etc. You
do not get four "No Questions Asked"
absences in addition to absences for minor illnesses, job
interviews, other conflicting activities, oversleeping, family
vacations, not attending the first days of class even though you are
enrolled in the course, etc. The best way to avoid grade penalties if
you do not want/plan to attend class regularly is simply to drop the
course.
University Policies
This course is governed by the University's
Syllabi
Policy and Statement Information. This document describes the
University's
- Academic Integrity Code
- accommodation for students with disabilities
- attendance policy (including the state-mandated religious
observance policy)
- statement on student engagement with courses
Course Logistics
All coursework for CS2531 is individual coursework. Your course grade
will be computed as follows:
|
Challenge activities (26) |
15% |
Homework assignments (12) |
35% |
In-class exams (2) |
25% |
Final exam (cumulative) |
25% |
Total |
100% |
|
At any point during the semester you can approximate your "grade so
far" using the formula
(a / ACT * 0.15) + (h / HW * 0.35) + (e / Exams * 0.25)
+ (f / Final * 0.25)
where
- a is the number of challenge activity points you have earned so
far
- ACT is the number of challenge activity points possible so far
- h is the number of homework points you have earned so far
- HW is the number of homework points possible so far
- e is the number of in-class exam points you have earned so far
- Exams is the number of in-class exam points possible so far
- f is the number of final exam points you have earned so far
- Final is the number of final exam points possible so far
All of this information will be available to you on AsULearn.
Letter grades will be assigned on the following 90-80-70-60
scale. This scale is essentially standard, but the thresholds have
been lowered slightly, making it easier for you to earn a higher final
letter grade. I reserve the right to lower (but not raise!) thresholds
further for particular final letter grades.
|
Percentage of total possible points in
course |
Final letter grade |
92 - 100 |
A |
89 - 91.99 |
A- |
87 - 88.99 |
B+ |
82 - 86.99 |
B |
79 - 81.99 |
B- |
77 - 78.99 |
C+ |
72 - 76.99 |
C |
69 - 71.99 |
C- |
67 - 68.99 |
D+ |
62 - 66.99 |
D |
59 - 61.99 |
D- |
0 - 58.99 |
F |
|
The above information is intended solely to let you know how final
course grades will be computed for this course. It is not intended to foster
preoccupation with point accumulation. My best advice is to engage the
course with enthusiasm --- daring to really "get into" it! --- and let
the grade (which is, after all, intended merely to reflect your
understanding of the material) take care of itself.
Readings and Assignments
You will have daily readings and challenge activities to complete over
the semester. You will also have homework assignments to complete.
The purpose of the readings is to provide you the opportunity to
prepare for class, as well as for the challenge activities and the
homework assignments. The readings will also reinforce ideas presented
in class. I suggest that you read the material for a given class
meeting both before and after that class meeting. Reading before class
will help you identify, in advance of lecture, areas of special
concern for you. Reading after class will reinforce what we have
discussed in class. You are responsible for all material in the
reading, as well as for all the material covered in class, whether or
not you attend class on the day it is covered. The challenge
activities and homework assignments to be completed will be made
available via the course web site. The purpose of the activities and
assignments is to help you gain facility with the material covered in
class and in the assigned readings. Homework assignments will consist
mainly of pencil-and-paper exercises.
I
will grade a selection of the problems on each assignment.
The homework and activities for this course are worth 50% of your
overall course grade. That's over 3.5% of your grade per week, which is
a compelling reason to construct and submit well-considered solutions
to all of the assigned exercises. But of course the best reason to do
so is because it will be difficult, if not impossible, to learn the
course material without seriously engaging it and working with it. My
best advice is to do every single one of the assigned activities and
exercises for for the semester. If an activity or exercise weren't
important to your understanding, I wouldn't assign it!
I strongly suggest that you first attempt activities and assignments
as soon as they become available. I cannot emphasize this strongly
enough! This will leave you time to mull them over, to make several
attempts at solving them, and to come for help if you need it. Waiting
until shortly before an activity or assignment is due to start working
on it is a recipe for disaster!
You are welcome to discuss current or past homework assignments, or
indeed anything about the course, with me at any time.
Exams
This course has two in-class exams, to be held during the regular
class periods on 16 February and 5 April.
It also has a final exam, set by the University Registrar for 8:00
a.m. - 10:30 a.m. on Monday, 6 May.
Late Assignment Policy
If you cannot meet an assignment due date for reasons truly
beyond your control (e.g., documented serious illness, personal
crisis, or family crisis), you may request an extension. Requests for
extensions are more likely to be granted if they are
made before the assignment due date, but late assignments are
not accepted except in extreme circumstances. My 30+ years of teaching
experience show that students who turn in even one assignment late
often fall behind in the course and have difficulty completing
subsequent work satisfactorily. This is especially true in courses,
like CS2531, in which each assignment builds on the ones that have
come before.
Recommendations for Private Study
As mentioned above, you are responsible for all course material,
whether or not you attend lectures or do the assigned reading or
coursework. If you miss a lecture for any reason, it is your
responsibility to find out what was discussed. You can do this by
consulting the (tentative) syllabus on the course web page, asking
another student in the class, or asking me.
To prepare for the activities and assignments, I recommend that you
attend lectures, do all of the assigned reading, and consult the
textbook and your course notes as needed to ensure that you understand
the course material. The assigned reading should first be
done before starting the homework and lab assignments, and then
again as needed.
All activities and homework assignments should be started "early and
often". That is, you should look over an activity or assignment as
soon as it becomes available, just to familiarize yourself with the
problems in it. Try to do as many problems as you can as soon as you
can. This will leave you time to get confused and "unconfused", which
is how you will be able to tell that you have learned something! Come
to lectures eager for ideas and information that will help you
understand the course material and do those problems that elude
you. Attempt the assigned problems as often as necessary for you to
complete them. Some problems will necessarily take more time and
thought than others, but solutions to all of them can be done using
the course material, and none of the problems will be beyond you if
you truly understand that material.
To prepare for exams, I suggest that you read over all the assigned
readings from the textbook, as well as your course notes, and that
you re-do all of the assigned problems without any help. If you can do
all of the assigned problems in a reasonable amount of time without
any help, then you should be well-prepared for the exams.
Collaboration Policy
This Collaboration Policy augments ASU's
Code
of Student Conduct, so that both are in force for this course.
You are assumed to be completely familiar with ASU's Code of
Student Conduct. Should there be conflict between ASU's Code of
Student Conduct and this Collaboration
Policy, this one will take precedence
whenever possible.
ASU's Code of Student Conduct specifies that:
The term "Academic Dishonesty" includes, but is not limited to, (l)
use of unauthorized assistance in taking quizzes, tests, or
examinations; (2) dependence upon the aid of sources beyond those
authorized by the instructor in writing papers, preparing reports,
solving problems, or carrying out other assignments; or (3) the
acquisition, without permission, of tests or other academic materials
belonging to a member of the University faculty or staff; (4) and
plagiarism, which includes, but is not limited to, the use of
paraphrases or direct quotations without acknowledging the source of
the published or unpublished work and giving full acknowledgment
thereto. Allegations of academic dishonesty are handled
under the Academic Integrity Code.
What this means concretely for CS2531 is:
- Unless otherwise instructed, you are allowed to discuss only general strategies and approaches to assigned
work. In particular, you must not discuss details of solutions with
others.
- Unless other arrangements have been made with me, you are allowed
to discuss assigned work only with me and with others
currently enrolled in the course.
- Any work you submit for evaluation must be your
own. This means that any work submitted for evaluation must
have been developed by you and must have been written by you. The
bottom line is that you must always develop and write up your
solutions alone. It is
unacceptable to write up your solutions with someone else, or to copy
(either manually or electronically) solutions written by someone else,
even if you have their permission. All such incidents will be
treated as violations of this Collaboration Policy.
-
To avoid inadvertently cheating --- or even the appearance of
cheating! --- you should not write anything down when discussing
general approaches to problems with others. If you have truly
understood the ideas you have discussed, then you will have no need to
write anything down. You should have no difficulty reconstructing the
ideas, incorporating them into your solutions, and writing up those
solutions, all on your own.
-
When completing work for this course, under no circumstances should
you show anyone else in the class your work or have in your possession
work that belongs to another person. Another student should never look
at your papers or screens, and you should never look at another
person's papers or screens.
- You should not look for solutions to assigned problems on the
internet or elsewhere, and you should refrain from looking at them
if you do happen to stumble upon them. In
particular, you may not use AI to generate (or
even suggest) solutions.
-
Keep in mind that, unless cheating has occurred, it is extremely
unlikely that any two people will develop the same solution to any
given problem. For this reason, I will ask you to speak with me if any
of your solutions very closely resembles that of another person. But
since conversations about suspected cheating are rarely pleasant, I
strongly urge you to abide by this Collaboration Policy, thereby
putting neither yourself nor me in the position of having to have such
a conversation.
-
A grade of 0 will be earned on any coursework for
which a violation of this Collaboration Policy is established. Further
penalties according to departmental and university regulations may
also be imposed.
If you are unsure about whether or not certain kinds
of collaboration are permissible, please ask me.
Syllabus
A tentative syllabus for this course appears below. It will be
updated throughout the semester to reflect our actual progress through
the course. All section numbers refer to sections in the course
textbook.
17 Jan |
Course welcome, topic, and mechanics |
|
| HW1 out
|
19 Jan |
Section 1.1, Section 1.2 |
|
|
|
24 Jan |
Section 1.4, Section 1.5 |
|
|
26 Jan |
Section 1.5 (cont'd) |
|
| HW1 due; HW2 out
|
29 Jan |
Section 1.6, Section 1.7 |
|
|
31 Jan |
Section 1.8, Section 1.9 |
|
|
| HW2 due;
HW3 out
|
5 Feb |
Section 1.11, Section 1.12 |
|
|
7 Feb |
Section 1.12 (cont'd), Section 1.13 |
|
|
9 Feb |
Section 1.13 (cont'd), Section 1.14 |
|
| HW3 due; HW4 out
|
|
|
|
19 Feb |
Section 2.2 (cont'd), Section 2.3 |
|
|
21 Feb |
Section 2.3 (cont'd) |
|
|
| HW4 due; HW5 out
|
|
|
| HW5 due; HW6 out
|
|
6 Mar |
Section 3.4 (cont'd) |
|
|
| HW6 due; HW7 out
|
11-15 Mar |  
No class -- Spring Break |
|
|
|
|
22 Mar |
Section 3.8 (cont'd) |
|
| HW7 due; HW8
out |
25 Mar |
Section 3.8 (cont'd) |
|
|
|
29 Mar |
No class -- State Holiday |
|
|
1 Apr |
Section 3.9 (cont'd) |
|
|
3 Apr |
Section 3.9 (cont'd) |
|
| HW8 due; HW9
out |
|
8 Apr |
Section 4.1, Section 4.2 |
|
|
10 Apr |
Section 4.3, Section 4.4 |
|
|
12 Apr |
Section 4.5, Section 4.6 |
|
| HW9 due; HW10
out |
15 Apr |
Section 4.7, Section 5.1 |
|
|
17 Apr |
Section 5.2, Section 5.3; |
|
|
19 Apr |
Section 5.3 (cont'd), Section 5.4 |
|
| HW10 due; HW11 out
|
22 Apr |
Section 6.1, Section 6.2 |
|
|
|
| HW11 due; HW12 out
|
|
| HW12 due
|
This page maintained by pj