This pages contains general syllabus components for all of my
classes.
Individual class pages specify particular details for each class.
For any class-related communications, do NOT email, do NOT use Canvas
messaging, and do NOT send me a Zoom invite;
if you do, I will kindly send you a link to this section of the
syllabus,
reminding you to use the following methods (or help you get them
working).
Instead, for all class-related queries, please only either:
ask during office hours, or after class, or
use the Zulip synchronous chat system, where you can either:
If you have random, non-class questions about computer science,
etc.,
then feel free to email, chat, ask in person,
write a letter, send a carrier pigeon, a secret cipher, or whatever
:)
****
is
your course catalog number)How do I get help in this class?
What kind of questions might you ask?
What do I type?
Why do I type that?
Why does it work that way?
How does this principle work?
Why does this principle work this way?
What should you be asking in office hours?
The first question above is not a good question…
Our goal is not to teach you typing, or “Karaoke coding”…
If you are asking questions that merely amount to:
“what do I type or do to fix my code?”,
then you should think about the problem with more curiosity.
Your goal should be to obtain at a deeper understanding,
by asking questions that inform the mental model you should be
building!
The professor and class helpers:
Please feel free to attend the professor’s office hours,
either during scheduled times or by appointment.
If you are having trouble, this can be very helpful!
If you can not make office hours times due to a consistent time
conflict,
I will make every attempt to find a time to meet with you.
Pro-tip:
We are really happy to help.
Hint: Do your programming assignments early,
and come to get assistance early :)
All office hours start the second week of class,
and do NOT occur on the same schedule during finals week.
Where:
CS building, 2nd floor lounge and Linux lab, room 212/213.
If I’m not there, then check my office, CS322.
When:
Monday, Wednesday, 4:00pm-5:00pm
Friday, 2:00-2:50pm (some days 4:00pm-5:00pm, but not all)
If you can not make office hours times due to a consistent time
conflict,
we will make every attempt to find a time to meet with you.
See the detailed class-specific syllabus to see details for this
option.
Student helpers may include:
LEAD, SSC tutors, paid graders, graduate teaching assistants, and
more!
https://cs****.zulipchat.com (where ****
is
your course catalog number)
There is also an invite link posted in Canvas.
Use your @umsystem
email to register an account with each course instance.
Zulip is a better-designed alternative slack/discord/teams/etc,
which is optimized for programming teams, and supports coding projects
well.
This is a common question:
Our goal is to optimize the help and community for students (we have
your goals at heart).
Thus, myself and my graders/GTAs, have experimented with many of the
common team communication platforms,
including: Discord, Slack, Teams, Rocketchat, Mattermost, GroupMe,
etc.
Zulip is clearly better designed for getting help and actually
coordinating on content,
rather than engaging in big streams of whining banter, where actual
answers get lost in the drivel,
and so questions get asked again and again…
Zulip is just a great product for team cooperation and
communication,
and there is good reason that the core python developers themselves use
it as their communication platform.
It has a good privacy policy, is cross platform (most all platforms,
including mobile), and open source.
It has true topic threading, efficient chat, direct messages, group
chats,
code highlighting, file share, audio-video spin-off, etc.
https://zulip.com/why-zulip/
https://zulip.com/features/
The two main contenders people use at MST in CS are:
Discord
I have nothing against discord, and still use it for some things (I even
visit the CS discord),
it’s just not as well-designed for content-based discussions and
collaborations as Zulip.
There is a department discord: https://discord.gg/f5KPWfw
You can join this, and there will likely be help channels for your
course there.
But, it’s less likely to get you substantial help than the course’s
Zulip chat.
Discord has both single public rooms, and direct messages, but does not
have true threading,
and thus tends to make it difficult to find already-answered
questions,
as well as tending toward meaningless banter, skipped questions,
off-topic discussions, etc.
It is cross-platform.
But, it is closed source, and the privacy policy is questionable at
best,
more likely a bit predatory.
Discord has recently added audio chat spin-off.
These platforms have been used for cheating in the past,
and we do monitor them, to make sure it’s not going on now.
Canvas
Canvas forums do threading, which is nicer than one big chat room,
but the post-based discussion forums are clunky and slow.
Canvas does chat, but it’s one single stream, and has no direct 1v1 or
small group chat.
University hosted, open source.
No reasonable audio-video spin-off option.
https://www.discourse.org/
Discourse is pretty nice too, but not quite as seamless, quick, and
efficient as Zulip,
and a slightly different model, more targeted at public-facing
organizations.
Please let me know what you like about the class and how it can be
improved!
I usually do mid-semester feedback (in upper level classes), and use
that feedback.
“As gold which one cannot spend will make no person rich, so
knowledge which one cannot apply will make no person wise.”
- Samuel Johnson.
As this quote suggests, my primary goal in courses is
practical,
to provide you familiarity with theory and methods commonly
employed,
both in many real-world applications, and also those which are used for
more advanced methods.
My secondary goal is to practice actually implementing these
methods,
both to assist understanding, and also to increase retention.
Weighting calculation
Weighting between grade categories is available on Canvas.
Weighting percentages for each category may change slightly toward the
end of the semester,
depending on student performance.
I occasionally try to re-weight to improve grand
average scores.
Grade computation
Your final grade = percent of possible points.
Your letter grade = standard S&T letter-percentile mapping:
Grade ranges
A: [90.00 - 100] %
B: [80.00 - 90) %
C: [70.00 - 80) %
D: [60.00 - 70) %
F: < 60 %
Rounding
Though I would often like to, grades can not be fairly rounded for one
person, without giving everyone a bonus.
For example, if you have a 79.4, that is a C, unless the whole class has
an opportunity for such a bonus.
If >50% of the class fills out CET evaluations,
then I will round all decimal precision up, e.g., 79.1 becomes 80 /
B.
I always post full lecture notes and code!
My lecture notes are in wiki-book format.
If some code or data I distribute it’s bundled,
then you can unpack it: $tar -xf mycode.tar.gz
We “take attendance” via:
Required daily web-quizzes using a classroom response system (CRS)
We will also use stochastic sampling methods in class to take
attendance, and learn names.
I use a random name sampling program to sample someone from the roster,
and then ask a question (only for bonus points).
Missing classes will greatly diminish your chances for getting a good
grade in this class.
If you miss more than 5 classes, then we reserve the right to drop you
from the class.
Save snow days… #savesnowdays
https://www.youtube.com/watch?v=-FBwZtuJtMw
If you have an unavoidable S&T-acceptable documented reason
(i.e., death in the family, illness, etc) for missing in-class
events,
then please talk to the professor to discuss potential re-scheduling or
accommodation.
Note that this does NOT include optional parties, such
as:
vacations with family, weekend trips, weddings (voluntary parties),
etc.
Exceptionally few companies excuse for such things;
when your vacation time is out, that’s it, if you don’t show, you’re
fired!
Late work is not generally accepted, barring emergencies or checking
with me first;
it would be wise to plan ahead!
If your excused absence pertains to particular Cahoot
assignment,
then please use Canvas to comment on that particular Cahoot
assignment,
such that I may exclude the points from your average.
Q: Student:
“The semester is almost over, and i didn’t do most of the work, or show
up to class usually, but I really need a good grade, so can’t you make
an exception, it’s important to me, and I’m having a hard time, and I
have anxiety about doing work, and I tried to start the work, but I just
never started the work, and never did any of it, but i wanted 2. it
would be fair to give only me an exception, even though everyone else
didn’t get that opportunity. really it would!! plzzz???”
A: Professor:
The university academic regulations define the action you are requesting
me to perform as “Capricious grading”.
To fulfill such a request would contradict the academic regulations of
the university itself,
and I can NOT comply without violating the terms of the university
academic regulations.
All instructors at the university are REQUIRED to apply the same grading
and deadline criteria to ALL students in a class,
and are REQUIRED to adhere to their announced grading and deadline
criteria.
University policy requires that grades be assigned based on academic
PERFORMANCE in the class, not based on effort or need.
As a child, you may have been praised for effort.
For a child, praising effort is often sensible.
As an adult, you are evaluated on objectively demonstrable
performance.
In other words, you fairly deserve the grade that reflects the quality
of the work you actually performed,
before the actually posted deadlines.
See: https://registrar.mst.edu/academicregs/undergraduategrades/
Q: Student:
All the grades are in, and I only have a grade of 12, how can I pass
this class?
A: Professor:
It must be disappointing that your strategy of not coming to class, not
doing the work, and not studying didn’t work out like you hoped.
If you would like to pass this class, you can either:
or
Published experimental studies in the fields of research in cognitive
psychology and education have shown that:
frequent (rather than sparse) recall, is both more effective for
learning, retention, and synthesis,
and also encourages frequent smaller bouts of studying, rather than
cramming.
Thus, we have daily quizzes.
These are administered using a clicker-like system.
To avoid having to pay for a clicker,
we use Canvas quiz questions with a custom application we wrote
in-house:
ClassroomCode.html
The goal of these is to create incentives for the following
actions:
Showing up to class!
Regular distributed studying and reading rather than batched
cramming;
the easy daily questions are on pre-class reading material being
lectured that day.
Staying awake in class…
Reduced-stress assessment of your understanding of material: less
painful grading
You are expected to have a web-capable device in class
(Android phone/tablet, iPhone/iPad, laptop, CLC computer, ChromeBook,
Pinebook, etc.).
This is a fair expectation for the following reasons:
Most students have a smart-phone or laptop.
Many classes already require students to pay for (or worse, rent…) a
clicker (45+ USD).
Anyone can obtain a web-capable Android smartphone (a.k.a. WiFi-capable
prepaid “burner”),
for around $20 USD at local stores such as Kroger, Walmart, and most gas
stations,
without a service plan (you merely need WiFi, which is free on
campus).
Our free web-based classroom response system (CRS) questions will be
treated as daily quizzes.
Grades are assigned based on correctness of responses given within the
time-limit.
If you miss class, you will miss the points for that day.
I will usually drop some of these questions, in case the system had
bugs, your finger slipped,
you missed class for excused reasons or not, etc.
There are several ways to do well on these quizzes:
1. Come to class.
2. Do the reading on the topic to be lecture, BEFORE CLASS.
3. Come prepared with your web-capable device.
You should expect around 1 significant technical assignment every 1.5-2 weeks
See details on your expected programming sandbox environment:
WorkingEnvironment.html
See details on how to obtain assignments, submit, and receive
feedback:
ClassroomCode.html
See details on programming standards and grading here:
ProgrammingStandards.html
You should intend to learn, to better yourself,
to train skills, knowledge, memory, and technical abilities!
Cheating in class is like paying someone else to go to the gym and
exercise for you…
In this academic gym, I the instructor, am your trainer,
but you have to show up and work hard.
Aquiring knowledge and skills takes effort, dedication, and
sacrifice,
that you perform yourself.
I can only show you how, and I hope to ascertain via in-class
assessments,
whether your efforts were sincere and persistent, and thus
effective.
Write all your work in your own words, and write your own code.
Do not copy-paste (plagiarize) from any source.
If you are not sure, err on the side of caution, and do your work
independently.
Occasional infrequent help from a friend when your are really stuck may
be reasonable,
though if that “help” is frequent enough that your collaboration results
in almost identical code,
it was too much collaboration for an assignment intended to be
independent work
(which all are unless explicitly assigned as group work).
Cheating includes attempting to hard-code outputs to “fool” the
auto-grader.
If you are found to be engaging in any form of academic
dishonesty,
then the most severe penalties permitted by the university will be
enacted.
Incidences will typically result in grades of 0 for the respective
course components,
as well as notification of the student’s advisor, the student’s
department chair,
and the campus undergraduate studies office.
Further academic sanctions may be imposed as well in accordance with
university regulations
(http://academicsupport.mst.edu/academicintegrity/).
Those who allow others to copy their work are also committing
plagiarism,
and will be subjected to the same procedures.
The Honor Code can be found at this link: http://stuco.mst.edu/honor-code/.
Page 30 of the Student Academic Regulations handbook describes the
student standard of conduct,
relative to the University of Missouri System’s Collected Rules and
Regulations section 200.010,
and offers descriptions of academic dishonesty including cheating,
plagiarism or sabotage:
(http://registrar.mst.edu/academicregs/index.html).
Also see: http://academicsupport.mst.edu/academicintegrity/studentresources-ai
We check your assignments against each other with software that is
VERY good at detecting cheating,
using similarities and differences between any text files, including
your source files.
These methods are difficult to trick.
Please do not try to copy-paste, share sources directly,
or write all your code in a group or pair for individual
assignments;
you will not like the consequences!
Attempting to deceive attendance checking procedures is considered
academic dishonesty,
for ALL parties involved.
For example, do not give someone copies of your code,
or submit someone else’s pre-lab or lab assignment for them,
because they are not attending class,
or answer someone else’s daily CRS questions.
Important note:
For efficiency, I may cheat-check all your submitted
assignments in only two batches all semester:
The first check will occur just before the last drop date,
about halfway through the semester, for the first half of your
assignments.
The second check will occur during final exams week,
before grades are due, but after all your your assignments are turned
in.
This includes checks against previous semesters if needed.
It is vitally important that our classroom environment promote the respectful exchange of ideas. This entails being sensitive to the views and beliefs expressed during discussions whether in class or online. Please speak with the instructor before audio-recording or video-recording any class activity. It is a violation of University of Missouri policy to post, upload, or distribute such recordings without instructor authorization and the permission of others who are recorded. Do NOT record class activities yourself.
Further, classroom recording creates issues with:
student privacy, silencing discussion, dis-incentivizing attendance,
calling of names (FERPA issues), etc.
https://www.reddit.com/r/Professors/comments/trvsdk/why_are_some_professors_so_against_recording/
Unauthorized use of artificially generated content violates
University Student Academic Standards without consent of the instructor.
For more resources visit:
https://teaching.missouri.edu/blog/teaching-time-ai
Be considerate to your community,
it will likely come back to you at some point;
that’s what diseases do…
Not everyone is healthy,
and even healthy individuals may have family members who are not.
If you are sick, then stay home,
or wash your hands, and wear your mask when on campus.
This is not how you wear a mask:
https://www.nytimes.com/2020/04/08/well/live/coronavirus-face-mask-mistakes.html
http://lead.mst.edu provides optional (not required) tutoring in a wide range of courses for students who wish to increase their understanding, improve their skills, and validate their mastery of concepts and content in order to achieve their full potential. LEAD assistance starts no later than the third week of classes. Check out the online schedule at http://lead.mst.edu. Some courses have collaborative LEAD learning centers (bottom half of schedule) and/or Individualized LEAD tutoring (top half of the schedule). For more information, contact the Academic Support office at 341-7276 or email lead@mst.edu.
SSC was developed as a campus-wide initiative to foster a sense of responsibility and self-directedness to all S&T students by providing peer mentors, caring staff, and approachable faculty and administrators who are student centered and supportive of student success. The Student Success Center in Toomey Hall was designed for students to visit and feel comfortable about utilizing the campus resources available. Visit the SSC at 198 Toomey Hall; 573-341-7596; success@mst.edu; Facebook: https://www.facebook.com/SandTssc; web: http://studentsuccess.mst.edu/
Any of us may experience strained relationships, increased anxiety, feeling down, alcohol/drug misuse, decreased motivation, challenges with housing and food insecurity, etc. When your mental well-being is negatively impacted, you may struggle academically and personally. If you feel overwhelmed or need support, please make use of S&T’s confidential mental health services at no charge. For a quick guide to campus resources that address specific issues please visit our Well-Being Referral Guide, available as a website at https://minerwellness.mst.edu/well-being-referral-guide/. If you are concerned about a friend or would like to consult with a Care Manager, please make a UCARE referral for support and assistance. https://stuaff.mst.edu/ucare/.
If you have a documented disability and would like accommodations in this course, please facilitate providing documentation to the professor as early as possible in the semester. Disability Support Services staff will need to send a letter to the professor specifying the accommodation you will need. It is the university’s goal that learning experiences be as accessible as possible. If you anticipate or experience physical or academic barriers based on disability, please contact Student Disability Services at (573) 341-6655, sdsmst@mst.edu, visit http://dss.mst.edu/ for information, or go to mineraccess.mst.edu to initiate the accommodation process. Please be aware that any accessible tables and chairs in this room should remain available for students who find that standard classroom seating is not usable.
See https://equity.mst.edu/
Missouri University of Science and Technology is committed to the safety and well-being of all members of its community, and to creating an environment free from discrimination and harassment.
The University does not discriminate on the basis of race, color, national origin, ancestry, religion, sex, pregnancy, sexual orientation, gender identity, gender expression, age, disability, protected veteran status, and any other status protected by applicable state or federal law. As used in this policy, the word “sex” is also inclusive of the term “gender.”
Additionally, US Federal Law Title IX states that no member of the university community shall, on the basis of sex, be excluded from participation in, or be denied benefits of, or be subjected to discrimination under any education program or activity. Violations of this law include sexual harassment, sexual assault, dating/domestic violence, and stalking.
In accordance with The Collected Rules and Regulations University of Missouri, Missouri S&T requires that all faculty and staff members report, to the Missouri S&T Equity Officer, any notice of discrimination disclosed through communication including but not limited to direct conversation, email, social media, classroom papers and homework exercises.
Missouri S&T’s Equity Officer and Title IX Coordinator is Chief Diversity Officer Neil Outar. Contact him (naoutar@mst.edu; (573) 341-6038; 203 Centennial Hall) to report violations of the university’s nondiscrimination polices, including Title IX. To learn more about resources and reporting options (confidential and non-confidential) available to Missouri S&T students, staff, and faculty, please visit http://titleix.mst.edu.
For all in-person instruction, faculty should explain where the classroom emergency exits are located. Classroom egress maps are posted at: http://designconstruction.mst.edu/floorplan/