Course organization and logistics

Deadlines

Deadlines are posted on the cource’s Sakai page. In general, late homework is not accepted. Bona fide emergencies are handled on a case-by-case basis. However, if you miss three or more assignment deadlines, you may find it difficult to finish the course with a qualifying grade.

Make-up assignments

In 200-level and higher courses I do not offer make up assigmemnts. That’s because of the Ungrading system I use in those courses, where students self-evaluate their performance.

Each regular assignment is basically a make-up assignment, allowing everyone the opportunity to improve their work one step at a time.

Assignments & Exams

Course performance is evaluated with a series of assignments. Assignments are typically organized as homework, quizzes, and exams. In a 200-level course and higher, homeworks and exams are week-long, take-home assignments. Depending on the course, there are between 8 and 12 assignments per term.

Grading scheme

Course performance is determined using regular assignments, a midterm, and a final. Grading scheme aside, the objective of assessments in this course is to ensure that students are learning. In this context students make mistakes, understand them, and do not repeat them. To focus on improved performance, there will no grades given to assignments and exams. You will receive feedback about what you did well and what you need to work on. Your adherence to this feedback, as demonstrated in subsequent assignments, will determine your course grade. This style of assessment is called ungrading or consultative assessment.

At midterm and at the end of the course, in addition to technical problems, you will be asked to write a brief reflection paper. In it you will assess how well you adhered to the feedback you received in the assignments, and you will propose your course grade. While I have the final say over your course grade, over the years I found that most students propose the correct grade for themselves. More often I give a higher grade than proposed; occasionally, a lower.

Ungrading and how it works

Ungrading is a low-stress approach to evaluating progress through a course.

We are accustomed to the traditional method of grading, where assignments are returned with a numeric score or letter grade, but the feedback may not be sufficient to understand areas of improvement. Additionally, we are penalized for our mistakes, despite the fact that they are an essential part of the learning process.

Ungrading emphasizes on feedback that is aimed at helping students improve. Each assignment is viewed as a learning opportunity, where students can reflect on what they did well, and what needs to be improved. Feedback received helps students identify areas of strength and areas that require more work. Progress is tracked by evaluating how well the feedback has been incorporated into the work, and this progress is used to determine a course grade that the student feels they have earned.

The final course grade is ultimately the responsibility of the instructor, however, students are expected to provide their own self-evaluation by proposing their own grade. This is done by writing a brief reflection statement at midterm and near the end of the term, taking into account the feedback received and the extent to which it was incorporated into the work. Based on their own assessment, students will propose a letter grade (A, B, C, or D). This proposal will be considered by the instructor when determining the final course grade.

An effective way to show that feedback has been taken into account is by avoiding recurring issues. These issues can be technical or non-technical in nature. Technical issues are easily recognizable such as writing methods with multiple returns and being asked to reduce them to a single return statement. If the student continues to make the same mistakes, it suggests that the feedback was not effectively incorporated. If there is a valid reason for disregarding feedback, it should be discussed with the instructor.

In general, technical issues are based on requirements, specifications, etc. Soft issues may be more challenging: skipping assignment, turning assignments late, not attending class meetings, not reaching out for assistance, etc.

As a teacher, I have found that most students have a good understanding of their own performance in a course. Ungrading allows me to collaborate with students in articulating their sense of learning, recognizing the skills they have developed, and identifying areas that require more focus and effort to improve.

Reflection statements

For the midterm and end-of-term reflections statements, I use Jesse Stommel’s suggestions with some additional questions.

Midterm reflection

  • What aspects of the course have been the most successful for you so far?

  • What thing that you’ve learned are you most excited about?

  • What challenges have you encountered?

  • Can you suggest one or two areas that it may be worth focusing/improving?

  • Based on your performance so far, what do you feel your course grade should be? Choose from A, B, C, or D.

End-of-term reflection

  • Write me a short letter that reflects on your work in this class.

  • Consider the work you did on exams, assignments, and lab/studio sessions, the feedback you gave and received, and how you met your own goals.

  • Feel free to include examples of your work as necessary.

  • Did you miss any significant work?

  • Is there anything you are particularly proud of?

  • If, in the midterm reflection, you identified any areas for improvement/focus, how did you do?

  • What letter grade would you give yourself in this course? Choose from A, B, C, or D. (Ideally, I would give everyone the grade they give themselves, but I reserve the right to raise or lower grades as appropriate. Also notice that the grade you propose (A,B,C,D) is a range. The actual grade may vary slightly. For example, you may propose a B but end up with an A-. Or you may propose a B and earn a B-.)

Frequently Asked Questions about Ungrading

What is the grade I see in Sakai? Everytime you submit an assignment, you will earn 1 point. This is not the score of the assignment. This is just Sakai’s way of keeping track who submitted an assignment. Whether your assignment is spot on or off the mark, you will earn 1 point for submitting it. These points do not translate to a score that determines a course grade.

Is there a grade scale? Yes. Students that do not get the same feedback throughout their assignments, usually finish with an A or an A-. Students that require 1-2 reminders for certain things may end the course with a grade in the B range. Students that require more frequent feedback for various technical issues but do finally move on, will end the course with a grade in the C range. Students that do not incorporate the feedback will probably finish the course with a D. Rarely, a student may finish the course with an F. I try to avoid this grade; if I feel that you are heading towards an F, I’ll reach out to you to discuss improvement or alternative plans.

Will there be make-up assignments? Every assignment is a make-up assignment: an opportunity to improve on issues that were identified in previous assignments. There will be no extra assignments, however.

I still see homework grades in Sakai, what’s up with this? These are not really grades. You get 1 point in Sakai for each assignment you submit. That’s really a counter of how many assignments you turned in, not actual evaluative score.

Why? Ungrading is very similar to a job situation. We receive feedback from peers and supervisors. The feedback tells us what we do well and what needs more attention. We use the feedback to meet new challenges, improve our skills, and advance our careers. Ungrading is also less stressful because you do not have to worry about a grade scale. It allows you to focus on learning and it is forgiving with mistakes that are not repeated.)

Ground rules

In my experience, the single most common cause of poor performance in any course is when students are not proactive. When you are proactive you can recognize and address any issues with your courses, while you have time to do something about it. Learning to be proactive is one of the most valuable skills you can acquire in college.

Here’s how you can be proactive, so you can succeed in this coure.

  • Review homework (or other take-home tests) within 24 hours of assignment. Identify questions that may be challenging. Contact the instructor or seek tutoring to work on these questions. The Department of Computer Science offers tutoring services almost on a daily basis.

  • Partially completed assignments are a warning sign. Compare your solution to the published solution. Try to identify the differences. Speak with the instructor or a tutor if the differences are not clear.

  • Skipped or missed assignments are also a warning sign. In some cases, circumstances beyond your control may force you to miss an assignment. This is understandable. The course is designed in a way that allows you to recover from a few missed assessments. If you miss more than 3 assignments, recovery may not be possible.

  • Come to class and take notes. Form or join a study group comprising fellow students.

  • If, for any reason, you need to be absent from class, let me know in advance. I don’t need to know the reason, but I need to know about the duration of your absense.

  • Check your official Loyola email at least daily and absolutely an hour before class meetings.

Instructor’s expectations

  • Read your email regularly and always before heading out to class.

  • Read everything carefully! Assignments, announcements, class notes, email messages, and program contents contain 99% of the information you need.

  • Make an effort. If you cannot finish the code, show some pseudocode.

  • Ask for help. Spend between 20 and 40 minutes on an assignment. If you feel you are not making progress, ask for help.

  • The internet is full of sites with “solutions” to problems. Be careful when using them. Most of the stuff posted there is junk. If you use code you fond online, you must demonstrate that you understand it fully. Such demonstration makes the difference between learning and plagiarizing.

  • If you employ at AI tool, cite its use and list the prompts you used to derive your work. Work that has been found to be produced by generative AI without citation and listing of prompts, will receive a 0 grade.

  • If applicable, use the Programmers Pact as a checklist before you submit code for evaluation.

  • No communications starting with the greeting “hey”.

  • For code troubleshooting attach the program file to an email or message. Please, no screenshots or links to cloud storage services. (If you are using a hosted IDE like Collaboratory or repl.it, send me a link to the code but make sure the file is shared).

  • Be on time. Commuting around Chicago is always full of surprises. Delays may be inevitable. Nevertheless, punctuality is a formidable professional skill. Learn it, practice it!

  • If you make an appointment for Student Hours but cannot keep it, notify me as soon as possible.

  • If I ask you a question in a email/message, please answer it.

  • Waiting for the last day to work on an assignment is risky. Ideally, you want to look at an assignment within the first 24 hours it is posted. Formulate a strategy. See if you have any questions to ask. Put some pseudocode to share with me.

  • Instead of asking if some idea could work, try it! The best way to tell if something works is to code it and find out for yourself. If it doesn’t work, you have a conversation starter when you reach out to me for assistance.

  • Come to class.

  • If you are taking an asynchronous course with me, please follow the course’s directions for 1-on-1 meetings with me. These meetings must be spaced out throughout the semester. Plan your first meeting with me during week 2 or 3. I also expect you to be in touch with me on a weekly basis, via email or messaging, with questions about your assignments, study, etc.

Student hours (aka office hours)

To give you more flexibility with your time, I have made my schedule available on Calendly. You can schedule an appointment with me by finding the best time slot that works for you. If there are no available time slots of if they conflict with your schedule, please notify me, suggest a couple of other time slots that will work for you, and I will do my best to find us time to meet.

For the Spring semester of 2024, Student Hours are as follows. Unless otherwise noted, all meetings are in Doyle 207.

  • Monday

    • 8:30-11 AM, (first come, first served)

    • Monday 3-6 PM, exclusively for COMP 306/406 students (Zoom, by appointment)

  • Tuesday

    • 1-2 PM, (by appointment only)

  • Wednesday

    • 1:30-3:30 PM, (first come, first served)

Academic integrity

Students are expected and encouraged to work together. It is also expected that students will explore the vastness of the internet to discover information, knowledge, and solutions to problems. I consider all that to be part of your learning experience. It is up to you, however, to demonstrate your learning.

In practical terms this means that you should be able to describe in your own words how a piece of code works or how you arrived to a mathematical derivation, etc. Failure to do so will affect your course performance and, ultimately, your grade. It may also raise concerns related to academic integrity. Verbatim use of material obtained from others is considered a violation of the university’s policies for academic integrity.

Please note that if you can search for an answer on the internet, so can your instructor. When it comes to programming, there are several websites with good code examples. These are geeksforgeeks, stackoverflow, etc. You are expected to explore these sites. The code you find there can be extremely useful. It is up to you to turn these websites into a learning experience. How? By internalizing the code that you discover in these sites and adopt for your assignments.

If you employ at AI tool, cite its use and list the prompts you used to derive your work. Work that has been found to be produced by generative AI without citation and listing of prompts, will receive a 0 grade.

Computing, i.e., programming and its foundational topics such as mathematics, is something that is best learned by example. But copying other people’s work alone is not sufficient. We must internalize that work, i.e., we must understand how someone else’s code works, how it does it, and why. Without that internalization, we simply copy someone else’s work. And that is not sufficient to pass a course.

Be cool, like a pro

In additional to the technical content of the course, there is a professional element to it. The professional element of the course is meant to cultivate your essential work skills (some call them “soft skills”). These skills are highly sought after by employers. Essential skills include communication skills, neatness, punctuality, dependability, ability to work in teams, problem solving skills, etc.

In the context of this course, professionalism and essential skills are as follows.

  • Be clear in your communications. When sending an email, make sure that it has an opening, an objective, and a closing.

  • The opening is a greeting line. “Hey” is never an appropriate opening in professional communications.

  • The objective is the main part of your email. Be precise and concise. For example, instead of writing “may I ask a question”, just ask the question.

  • The closing is a statement as to what you would like the other party to do in response to your message.

  • Be respectful of others’ time. Here’re two examples:

  • Come to meetings (class, student (aka office) hours, study groups, tutoring, etc) prepared. If the meeting is about reviewing your code, make sure that your laptop is sufficiently charged, the computer is turned on, and the code is already loaded into some editor before you even step into the meeting room. Do not spend 5 minutes in the meeting finding a power outlet, turning on and booting the computer, and firing up an editor.

  • Online class meetings are not the place to text the instructor questions related to individual concerns (your grade in a homework assignment etc.) Please do not use class time for such questions.

  • When in group meeting (e.g., class, study group, etc) keep your questions relevant to the objective of the meeting.

  • When making an appointment and you realize that you cannot attend the meeting, notify the other party as soon as possible.

  • When discussing a problem, be prepared to offer suggestions for reasonable solutions.

  • Be respectful of your own time.

  • Try emailing a question instead of waiting for Student (office) Hours. If the question is related to programming, attach a copy of your code. In most cases you will get an answer within a few hours.

  • Read and understand instructions and requirements. They set the expectations for your work. It’s important that you follow them.

  • Be organized and neat.

  • When turning in homework or other assignments, make sure that your writing is legible and the overall appearance reflects quality and care. Content is always the most critical aspect of your work; but appearance counts too.

  • When submitting code, make sure the files are properly named. For example homework.java may make sense on your side of the shop, but from the grader’s perspective it’s not very helpful. Files should be named after the class they contain, and must include comments in the code identifying you as the author.

  • When submitting photos of your work, name the files accordingly. Instead of IMG_123.JPG it should be called JohnDoe_problem1a.jpg or something equally indicative of where the file is coming from and what it contains.

  • Follow instructions. Instructions and directions reflect expectations and requirements for your work. File naming conventions, deadlines, content style, etc, are important aspects of your work both in college and beyond.

  • Check your official Loyola email regularly (at least once a day, and definitely an hour before class).

Zoom

If the class is asynchronous or online, you’ll need a conferencing tool like Zoom or Teams video to connect with me. It is a good idea to have such a tool handy even for synchronous courses that meet on campus. For example, during inclement weather, I may move the class meeting to Zoom, to keep everyone safe, dry, and warm.

You can also use Zoom to meet with me during Student Hours, if one of us is not on campus. In this case, an appointment is needed.

You need to download and install Zoom to your mobile device or laptop. Zoom is the University’s preferred tool for videoconferencing.

Formal notices

  • The university’s official Academic Calendar.

  • Every effort is made in this course to use open source, freely available material. However materials from the course cannot be shared outside the course without the instructor’s written permission.

  • Loyola University provides reasonable accommodations for students with disabilities. Any student requesting accommodations related to a disability or other condition is required to register with Student Accessibility Center (SAC), located in Sullivan Center, Suite 117. Professors receive the accommodation notification from SAC via Accommodate. Students are encouraged to meet with their professor individually in order to discuss their accommodations. All information will remain confidential. Please note that in this class, software may be used to record class lectures in order to provide equal access to students with disabilities. Students approved for this accommodation use recordings for their personal study only and recordings may not be shared with other people or used in any way against the faculty member, other lecturers, or students whose classroom comments are recorded as part of the class activity. Recordings are deleted at the end of the semester. For more information about registering with SAC or questions about accommodations, please contact SAC at 773-508-3700 or SAC@luc.edu.

  • Accommodation letters. Students with accommodation letters from the university’s SAC need to alert me as early as possible in the course. In some of my courses, I conduct weekly in-class assessment instead of homework assignments. Students work on these assessments, during class, for 15-25 minutes. If your accommodation letter entitles you to extended time for testing, I will be happy to make arrangements so that you can return the in-class assessment to me within 24 hours. Please notify me as soon as possible, if you would like extended time fo in-class assessments.

  • Duty to report. Faculty and staff of the University have a mandated responsibility to report any incidents of gender-based misconduct that they are made aware of, even if it happened in the past. Gender-based misconduct includes discrimination based on actual or perceived sex, sexual orientation, gender expression or identity, or pregnancy or parenting status; dating and domestic violence; sexual misconduct (including sexual assault, sexual harassment, and sexual exploitation); and stalking.

  • Statement about online recording. If the course uses software to record class discussions: as a student in this class, your participation in live class discussions will be recorded. These recordings will be made available only to students enrolled in the class, to assist those who cannot attend the live session or to serve as a resource for those who would like to review content that was presented. All recordings will become unavailable to students in the class when the Sakai course is unpublished (i.e. shortly after the course ends, per the Sakai administrative schedule). The use of all video recordings will be in keeping with the University Privacy Statement shown below.

  • Privacy Statement. Assuring privacy among faculty and students engaged in online and face-to-face instructional activities helps promote open and robust conversations and mitigates concerns that comments made within the context of the class will be shared beyond the classroom. As such, recordings of instructional activities occurring in online or face-to-face classes may be used solely for internal class purposes by the faculty member and students registered for the course, and only during the period in which the course is offered. Students will be informed of such recordings by a statement in the syllabus for the course in which they will be recorded. Instructors who wish to make subsequent use of recordings that include student activity may do so only with informed written consent of the students involved or if all student activity is removed from the recording. Recordings including student activity that have been initiated by the instructor may be retained by the instructor only for individual use.

Inclusion statement

A university is a place where the universality of the human experience manifests itself. – Albert Einstein

It is my hope and goal to make this course one of your best learning experiences. Computer science courses can sometimes be a bit dry, with little room for variety in perspectives. Nevertheless, there will be opportunities to explore social and cultural aspects of the discipline. The course also offers the opportunity to learn from each other about how we process advanced technical and mathematical concepts. Understanding how different individuals conceptualize and internalize practical and foundational aspects of computing makes us better professionals and colleagues. By respecting the different perspectives, experiences, and worldviews represented in our classroom community, we make the course a space of learning and growth.

As an instructor, I am committed to continue improving this space of learning and growth. This is not something I can do alone. Your feedback and suggestions are essential and wholeheartedly welcome at any time.