Diversity statement

At Southwestern, we are always striving to improve our commitment to diversity and inclusion, and that includes promoting the most inclusive learning environment 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.

Classavo

We will be using Classavo's interactive platform for our Computer Science I (CSC54-184) this Fall 2026. Classavo is a website that you will be using to submit all of your in-class worksheets and your programming projects. Classavo will grade your work, which will then contribute to your overall course grade. In order to successfully register please follow the steps below:

Note: If you have any issues throughout the above process, send an email to Classavo Support at support@classavo.com.

zyBooks

zyBooks is the online learning platform that will host the textbook for this class. This is not a traditional textbook. "Reading" it involves reading text, but it also involves watching video animations as well as answering questions to check your understanding of the material. To access the textbook, please use the following instructions:

  1. Sign in or create an account at learn.zybooks.com
  2. Enter zyBook code: SOUTHWESTERNCSC54184ChandrasekharFall2026
  3. Subscribe
If you have a Black and Gold membership, you should have received a code from the Southwestern bookstore to be able to sign up at a discounted rate.

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. If your computer does not allow you to run java programs from the command line, then you may need to use the lab machine computers, which come pre-installed with Java.

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.

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%)

A very small portion of your grade will be determined by simply showing up to class. At the start of every class session I will have a QR code on the board that you can use to mark yourself present on Moodle. I will also write the code on the board, and you can go to Moodle and enter it manually to mark yourself present. If you come to class late the QR code will not be present but the code on the board will still be there. If you mark yourself present within the first minute of class, you will get 1 attendance point. If you come late but mark yourself present before the end of the class session you will receive 0.5 points. Otherwise you will receive 0 points for that day. It is your responsibility to mark yourself present each class; I reserve the right to reject any requests to retroactively update one's attendance status for a particular class session if I find the request to be unverifiable.

Reading Assignments (2%)

This will not be a traditional lecture class - instead it will be a flipped class. This means that class will not be focused me lecturing material to you. Instead, before every week you will have assigned reading, and you will be graded on completing the reading. In particular, zyBooks will track whether you completed all of the assessment questions that were part of the reading. When you come to class, I may still spend some time lecturing on the material, but I will try to dedicate as much lecture as possible 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.

While most reading assignments will be on zyBooks, some will be administered through Moodle quizzes.

In-class worksheets (2%)

A portion of your grade will be determined by your participation in this class. However, earning participation points will require more than simply showing up to class. The majority of class-time will be dedicated towards solving problems that will reinforce what you covered in the reading. You will complete your worksheets on Classavo. Your participation grade will be determined by correctly completing the worksheet problems. Worksheets are due by the start of the next class; however it is in your best interest to complete as much as possible in class so that you can get help from the instructor and other classmates. You should note that in-class work is only a small part of your grade, so you should not stress if you have to miss class or are not able to complete one worksheet here or there. But the more effort you put into your worksheets, the easier the rest of the class will be.

Coding practice (5%)

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 (40%)

During this course you will complete nine (9) programming projects (including one that teaches you how to write/run a java program) in which you will apply the skills and concepts that you learned about and practiced in the readings, practice coding problems. The first project introduce you to the process of writing and running java programs. 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 Classavo.

Every project (except for the first one) must be completed with a partner. This will help you develop many of the communication and collaboration skills that are indispensable in professional software engineering and/or computer science research. You should use the pair programming technique to ensure that you are both contributing and learning. You will be randomly assigned a partner for each project (and if there are an odd number of people in the class, there will be one group of three). If your assigned partner drops the course or becomes completely unresponsive mid-project, you may finish the remaining requirements solo without penalty. Notify me as soon as possible so I can update the roster for the next project cycle.

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 Classavo, but each of you will need to submit separate reports on Clasavo.

The coding portion of each programming project has two deadlines: one for the initial submission, and one for the re-work. Here is how it works:

The project report questions are graded automatically on Classavo, and you may re-attempt each question as many times as you would like until the (second and final) project code deadline.

Quizzes and Exams (40%)

As intimidating as timed assessments 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. Here's how it will work:

The final exams will take place at the following times: All assessments 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 quizzes and in-class exams are worth 20% 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 assessments, here are two pieces of information that will hopefully give you a little more peace of mind:

Paideia project (10%)

At the end of the semester you will be tasked with coming up with your own assignment to administer 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 design your own Stepik problem, quiz, exam problem, or programming project. You'll be given feedback, and then you'll resubmit a polished description (along with 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 me 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.

Student Hours

This is a challenging course! The coding practice problems and programming projects are designed to challenge you (if they didn't, then you wouldn't learn anything). I fully expect you to run into situations in which you need some help to solve a problem. This does NOT mean you are struggling or bad at the material; it simply means that you are engaging with the course fully, and that you are embracing the productive struggle that is necessary to learn the material deeply. For those times when you get stuck, student hours are your best resource for getting help. These are times that I dedicate towards helping students with coursework.

Rather than setting aside specific student hours, I will be scheduling student hours by appointment. When you need help, you can request a time to meet with me. This way, I can offer student hours to the students who most need it at the times that work the best. Here are some more details:

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 pre-class reading 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 - 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 quizzes and 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:

I cannot emphasize enough that I want you all to collaborate as much as possible. I want you to teach each other how to solve problems, because these exchanges are mutually beneficial. What I don't want is for you to exchange information in ways that substitutes for actual learning. A good rule of thumb is that you should be able to reproduce the code that you submit even if you had to start from scratch. If I suspect that you have not followed the honor code, I reserve the right to ask you to explain the work that you submitted, and I will be significantly more inclined to press charges if you cannot reproduce your own work.

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.

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).

AI Policy

There are no restrictions on how you may use the AI. You read that right. Use AI freely. However...do so at your own risk. If you become dependent on AI to the point that you cannot solve problems without it, you will struggle mightily on the exams. AI is not a substitute for learning, and this is reflected in the grading scheme.

The same principle described in the collaboration policy applies to the AI policy: you should be able to reproduce the solution to coding problems without needing to look at your submission. It is OK to use AI as long as you use it to the point where you can reproduce the solution and correctly explain the solution in your words, without any assistance. However, if you use AI generate a solution without actually learning how the solution works, then you will struggle to solve new problems on the exam. The bottom line is that while you will not be penalized for using AI, your grade will suffer if you do not use it carefully and/or strategically.

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.

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. Finally, much of the course material and assigned work has been directly contributed by or indirectly shapd by students like you.