Diversity statement

At Southwestern, we are always striving to improve our commitment to diversity and inclusion, and that includes promoting the most inclusive learning environmennt possible. I view diversity as a resource and a strength of our community, and I want to make this course work for students of all identities. It is my intent to teach in a way that is as respectful and inclusive as possible with regard to: race, gender/gender identity, sexual orientation, socioeconomic status, age, cultural background, as well as any other identities that I have unintentionally missed. I am always open to your suggestions, comments, concerns, and constructive criticism on how I carry out this ethos.

At Southwestern we have stringent community standards for the treatment of others. I will not tolerate any hate speech, bullying, or harassment of any kind, and I will report any violations of our code of conduct to the Title IX office.

Please feel free to let me know what name and pronouns you prefer to go by, and/or how you want your name to be pronounced, and I will make sure to address you how you want to be addressed.

Religious Observances

Southwestern University recognizes that it has students from a variety of religious and cultural traditions that have special days of observance or celebration that may take students out of their regular activities on certain days during the school year. Since the academic calendar does not always coincide with these days, the following policy is to be followed in order to facilitate student absences due to cultural and religious observances: As far in advance as possible, the student is expected to notify the professor(s) or instructor(s) of the class(es) to be missed. The student is expected to learn what assignments or exams are due or will be assigned on those dates and negotiate with the professor(s) or instructor(s) alternate times for fulfilling those requirements. Students should be prepared to fulfill the requirements prior to the class(es) to be missed.

Students with Disabilities

The Center for Academic Success coordinates reasonable, individualized accommodations for students with documented disabilities (medical, learning and/or psychological). To receive formal accommodations, students must be registered with the Assistant Director of Academic Success, Prothro Suite 120, (512) 863-1536. If you have a disability for which you are or may be requesting an accommodation, the CAS will verify your disability and determine what reasonable accommodation(s) for this course are warranted, and then you should notify me of any required accommodations as soon as possible. Accommodations cannot be applied retroactively. It is the responsibility of any student seeking accommodation(s) for this course to present any necessary documentation to the instructor as early as possible.

Courses credit statement

Courses in the curriculum of the University are expressed in terms of credits. For courses that have a minimum class time of 150 minutes per week, students should expect to work outside of class a minimum of 2 and 1/2 hours per credit per week. For courses that have a minimum class time of 200 minutes per week, students should expect to work outside of class a minimum of 2 hours per credit per week. Class time and out-of-class work for courses yielding fewer than four credits will be expressed as some proportion of a four-credit course.

Prerequisites

This class has zero prerequisites. I am not assuming that you have any computer programming experience, or any other specific background knowledge.

Technology

We will be using the following software in this course.

Moodle

At Southwestern our learning management system is Moodle. You will submit all of your programming assignments on Moodle. I will use Moodle to keep track of grades, and you can use Moodle to see your current grade in the course. Finally, I will be using Moodle to make announcements. It is your responsibility to check your Southwestern email frequently and pay attention to announcements.

Java JDK

This class teaches computer programming through Java. To complete the assignments, you are encouraged to install the Java Development Toolkit (JDK) on your computer. Your very first programming assignment will walk you through how to install the JDK, write your first computer program, and use Java to execute your computer program on the command line.

Replit

If your computer does not afford running Java programs on the command line, or if you simply aren't able to install java successfully, there is an option to complete assignments in a web browser using Replit. I encourage you to complete your programming assignments on the command line because it will help you develop certain skills that will benefit you down the line if you continue using computer programming. However, the first assignment will walk you through how to write programs in Replit if necessary.

Stepik

You will complete practice problems through the Stepik platform. Stepik has some traditional questions (multiple choice, matching, etc.), as well as coding-based questions. For the coding questions, Stepik allows you to write code, run your code in the browser, receive (nearly) instant feedback on whether your code is correct, and in some cases receive hints on how to fix the errors in your code. You will complete all of your pre-class reading quizzes on Stepik; we will use Stepik to do hands-on practice problems in class; and finally, you will use Stepik to complete all of your skills labs. You should create an account on Stepik and join our Stepik course as soon as possible.

Each Stepik assignment is broken into "steps" that describe a problem and then ask you to write a short piece of code. You will write your code in a text box in the browser, hit submit, and then I will run your code behind the scenes to check if it runs correctly. Stepik is a clould-based platform, so you can access it on any device with internet access - there is a mobile app as well, and I have even seen students complete the problems using the web browser on their phones. The cloud-based nature of it also means that it will also save your work.

Top Hat

Top Hat is a platform that I will be using for for administering in-class practice questions. You should create an account on Top Hat and log into Top Hat at the start of every lecture. You may log in on the computer in the lab, or on your phone (either in your phone's web browser, or using the Top Hat mobile app). When you create your Top Hat account, you may use any email of your choosing - either your Southwestern email or your personal email will work. When you sign up, please sign up for the free version (or the free trial if you have to). Do not pay for Top Hat!. Top Hat questions are not counted for a grade, meaning you can answer them freely without worrying about getting the question wrong.

Discord

Discord is an instant-messaging platform that we will be using for communication. I have created a Discord server dedicated to this class. You can use Discord to communicate and collaborate with your fellow classmates. If you ask a question on Discord, you may well get a response from one of your classmates faster than you would get a response if you were to email me. You can also message me privately on Discord if you like using Discord better than email. The Discord server can also serve as a space for informal communication and simply getting to know your classmates better. Note that there are some guidelines about asking for coding help through Discord - please review the academic integrity section carefully.

To encourage students to collaborate on Discord as much as possible, I will be giving extra credit for posting questions on Discord and for answering other students' questions on Discord (see below).

Grading Scheme

My grading scheme is designed to grade you based on what/how much you learned. It is not designed to grade you based on...

As a result of this, the grade is mostly based on summative assessments, in the form of four programming assignments and exams. These are designed to accurately assess how much of the material that you learned, without overemphasizing when or how you learned it.

There are some gradebook components that count for very little in in the grade calculation. That does not mean that these activities don't matter - they are actually very important! These activities are what will help you prepare for things that you are evaluated on. You should think of these course components as opportunities to learn at your own pace, and to make and learn from mistakes. I will still include these items in the gradebook so that you (and I) are able to track your effort and engagement. You will be able to see the correlation between what you put into the class and what you get out of it; but you will be graded primarily on being able to demonstrate what/how much you have learned from these activities (rather than the activities themselves).

Grading cutoffs:

By default I will use the following standard scale:

These cutoffs may be lowered if need be, but they will never be raised. Below I will describe all of the components that I will use to calculate your score.

Attendance (1%)

Attending class is very important for many reasons. When I lecture I will add explanations and details that cannot be captured by slides alone. Much of class time will be dedicated to solving problems in groups, but this will not work well if there is not a critical mass of people. Even if you think you know the material well, you will benefit from comparing answers with others and explaining your thought process. That said, I understand that not everyone can attend every lecture, and not every student necessarily needs to attend lecture. Thus, while I will track attendance and use it to help both me and you assess your effort and engagement, but I will only use it for a very small part of your grade calculation.

I will use Moodle to track lecture attendance. At the start of every class, I will write an attendance code on the whiteboard. You will then to the attendance tab on Moodle, enter the code, and mark yourself present. I will also show a QR code on screen that you can use to go straight to the attendance block on Moodle and have the code filled in automatically. If you mark yourself present before start of class, you will earn one (1) attendance point for that day. If you come to class late, you will receive 0.5 points. Othwerwise, you will receive 0 points. I also reserve the right to give you 0 points if you leave class unexcused.

If you have 5 or more unexcused absences you may receive an involuntary withdrawal from the course. If you need to miss class for a University-sponsored event you should let me know as far in advance as possible so that I know not to count it as an unexcused absence.

Reading Quizzes (2%)

This will not be a traditional lecture class - instead it will be a (partially) flipped class. This means that class will not be solely focused me lecturing material to you. Instead, before every week (except the first one) you will have assigned reading, and you will be expected to complete a Moodle quiz on the reading. When you come to class, I will still spend some time lecturing on the material, but I will also spend time solving practice problems to solidify your understanding. By completing a reading quiz ahead of time, you will be prepared to go through the introductory material more efficiently, which will allow us to focus more time on problem solving. You will have to work hard in preparation for lectures, but the payoff is that reading the material on your own and solving problems in class are a more active form of learning than simply listening to me talk. Additionally, on each reading quiz I will ask you what aspects of the material are most confusing to you; if you take the time to complete the quiz and answer these questions, then the lecture will be more closely tailored to your needs and desires.

Reading quizzes do not have a time limit, and you may attempt each question as many times as you like. You will receive partial credit for the problems that you do manage to complete on time. You may refer to the readings while you take the quiz, and you may also search for and refer to other resources if you find another resource that presents the material in a way that's better for you. Reading Quizzes can be found on Moodle, and they are due by the start of class.

Coding practice (2%)

Each week there will be one or more Stepik lessons that you are expected to complete. These problems range in difficulty, and in many cases problems will build upon previous problems in the same lesson. These problems represent a chance for you to practice the material at your own pace. They also represent a chance for you to make mistakes and learn from those mistakes. The more work you put into completing these problems, the better prepared you will be for programming assignments and exams.

You do not need to "submit" anything for Stepik work. Instead, I will download a spreadsheet from Stepik and manually input your score into Moodle. When you sign up for Stepik please use your first and last name as it appears on Moodle. Using your Moodle name will make it easier for me to make sure that I input your grades correctly. If you do not want to use your Moodle name for a specific reason (for example, if it is a deadname), then let me know; otherwise please make your names match on Stepik and Moodle to reduce the chances of data entry errors.

Programming Projects (10% each, 40% total)

During this course you will complete 6 programming projects in which you will apply the skills and concepts that you learned about and practiced in the readings, practice coding problems. The first two project introduce you to the process of writing and running java programs, but they are not for a grade. After that, there are four projects that count for 10% each. You can find the programming project writeups and starter files here on the course website. You will submit all of your programming project work on Moodle.

Three of the programming projects are partner projects. For these projects, you must work with one other student (or alone if there are an odd number of people in the class). You should use the pair programming technique to ensure that you are both contributing and learning.

In addition to writing code, each programming project includes writing a report. In the report you will answer questions to make sure that you understand the code that you wrote and the concepts that we are learning. You may NOT collaborate with ANYONE (including your programming partner) on the assignment report in ANY capacity. This would defeat the purpose of the report. When you submit your work, only one of you will need to submit the code on Moodle, but each of you will need to submit separate reports on Moodle.

Each programming project has two deadlines: one for the initial submission, and one for the re-work. Here is how it works:

Exams (50% total)

As intimidating as exams are, we need some way to evaluate how well you yourself can understand the course material without the help of your peers and/or the instructional staff. There will be three 75 minute in-class exams, and one 3-hour final exam. The three in-class exams will take place on the following dates:

The final exams will take place at the following times: All exams will take place in FJS 201. The exams will be paper exams. They will involve writing code on paper, identifying errors in code, answering conceptual questions about programming terminology and techniques, and predicting how certain code would be evaluated in Java. The three in-class exams are each worth 10% of your grade, and the final exam is worth 20% of your grade.

If you are nervous about having so much of your grade be determined by timed exams, here are two pieces of information that will hopefully give you a little more peace of mind:

Paideia project (5%)

At the end of the semester you will be tasked with coming up with your own practice coding problem to assign to future students. This is a chance for you to add an element of creativity to this course, and explore connections between the course material and your personal passions. You will propose a problem that would work well as a Stepik practice problem. You'll be given feedback, and then you'll resubmit a polished problem (including your own solution code). The one catch is that your problem must have a connection to a topic that is not related to math or computer science. This is a chance for you to share your interests with me, show me what course materials interest you the most, and help future students get excited about computer programming!

Extra Engagement (1%)

Throughout the semester you will have opportunities to receive extra credit for active engagement that goes beyond coming to class and completing assignments. You can receive extra engagement points for the following activities: You may receive up to 25 "engagement points", 20 of which may come from activities other than the syllabus quiz.

Pass-fail grading policy

If you are taking the course for pass/fail credit instead of a grade, then you must meet the following criteria to earn a passing grade:

Academic Integrity

We want you to succeed in this course, but we also want you to succeed with integrity. We want to make sure that you actually learn the material, so that the impact of the course doesn't disappear once the semester ends. We also want to make sure that every student has a fair chance to succeed, and isn't being taken advantage of by his or her peers. You worked very hard to get into a prestigious school like Southwestern, and without enforcing academic integrity that very prestige would quickly crumble.

In this course we expect students to adhere to Southwestern University's honor code. This means that you will complete your work honestly, with integrity, and support and environment of integrity within the class.

For reading quizzes and Stepik practice coding problems, you may collaborate freely, and you may use any resources at your disposal. Keep in mind that these assignments do not comprise a very large portion of your grade grade - they are only for your own benefit; therefore, if you try to cheat your way through these problems, you will not actually be doing much to help your grade, and you will only be cheating yourself out of the opportunity to learn the material and prepare yourself for the exams.

For programming projects, there are stricter rules for collaboration. In general, I expect that whenever you submit anything, you would be able to reproduce your solution without referring to the original submission. If you submit code that you are not able to explain or reproduce, then you will be considered in violation of the honor code. Additionally, there are strict limits on how much you may collaborate with students in other groups. Here are some guidelines on what is and is not allowed:

The only people that you are allowed to get help from are the instructor, the tutor(s), and students enrolled in this exact class (or another section of this exact class). You should NOT get help from any students not enrolled in the current iteration of class. Doing so constitutes an unreasonable form of collaboration.

All honor code violations will be handled according to university guidelines. If it is your first violation, you and I will have the opportunity to come to a joint resolution. Otherwise, your case will be referred to honor code hearing board. In general the penalty for cheating will involve receiving a 0 on that particular assignment (although any student caught using AI tools may be given an F automatically).

For your first programming assignment, you will write a program acknowledging that you understand and agree to abide by the academic integrity policy. In order to do this, you will submit a computer program that prints out the following:

I, [INSERT NAME], agree to the academic integrity policy

This will signal that you agree to study and excel with integrity. It will also give you the chance to make sure you know how to write, compile, and run a java program (which you will need to do for all of the programming assignments).

Late Policy

In general I will not be accepting late submissions this semester. The deadlines are ironclad. The only way I may make exceptions is if you have a truly extenuating circumstance (such as a family or medical emergency), but I will need a note from a parent or doctor.

Grade Appeals

Grades can be appealed up to two weeks after they have been posted; no appeals will be considered after that time. Please note that the entire assignment will be regraded upon appeal.

Audio/Video Recordings

To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student's own private use.

Copyrighted Materials

All material provided through course websites is subject to copyright. This applies to class/recitation notes, slides, assignments, solutions, project descriptions, etc. You are allowed (and expected!) to use all of the provided material for personal use. However, you are strictly prohibited from sharing the material with others in general and from posting the material on the web or other file sharing venues in particular.

Retention Statement

Southwestern has adopted a proactive advising approach, and in order to support this faculty and staff submit concerns about students to our retention management system. This alerts the student’s advisor who then reaches out to the student to offer support and resources. I will submit a concern for you if you fail to submit more than one assignment or have more than two unexcused absences. This safety net is in place because our community prioritizes student welfare and wants to do everything possible to support students when they are having difficulty.

Covid Statement

At Southwestern, we are committed to providing instruction in the safest and most responsible manner possible. Beginning July 22, 2022, we will no longer require the use of face coverings in indoor spaces on campus, with the following exceptions:

We should also recognize that each person comes to the community with their own sense of personal risk. Many will continue to choose to wear a mask, and we should extend our colleagues, peers and neighbors grace in recognition of their needs and preferences. Please consult Southwestern University's official covid policy for the most up-to-date information.

Acknowledgements

I have been fortunate enough to be able to borrow course materials from Dr. Niema Moshiri and Dr. Luis Filipe Nunes Quaresma de Oliveira. Addtionally, Dr. Jacob Schrum, Dr. Barbara Anthony, Dr. Katie Guffey, and Dr. Shriram Krishnamurti have provided invaluable advice on development of course materials.