CSDS 293 Information Sheet

Update April 28, 2023 Three more sections will be in listed in the next few hours (Wednesday and Friday). I also hope to open more section in early May but I do not know if it is going to happen.
Update April 25, 2023 Two more sections will be in listed in the next few hours, and an additonal two more sections in the next few days. I also hope to open more section in early May but I do not know if it is going to happen.
Update April 18, 2023 Additional sections may open in the near future, but there is no concrete detail yet.
Update April 17, 2023 SIS lists three more discussion sections for which Computer Science major can enroll without permission. The previously listed discussion section has been delisted. If you asked permission for the delisted section, your permission has been denied in the expectation that you sign up for one of the other sections instead.
Update April 13, 2023 A discussion section is listed on SIS. However, this section will probably be moved to another time or canceled. I plan on opening more discussion sections soon, but I still need to get a day and time. If you have applied for permission on the listed section, note that the request will be processed only after the discussion schedule has been finalized.
This document is a quick summary of frequently provided answers on CSDS 293 Software Crafstmanship. The document will be updated regularly as new questions are being answered. If you have addtional questions about CSDS 293, please send an email to vl@case.edu.


Students are expected to sign up for the lecture and for one discussion section. Discussion sections will be continuously added in the next few weeks. The schedule of additional sections is unknown at this time. There will be both Java and non-Java sections, although the list of non-Java languages is unknown at this time. If you cannot find an open section now, you should keep checking SIS for new sections to be added. The intent is to accomodate all CSDS 293 students (however, it is unclear whether CSDS 293N students will be able to sign up for the course).

Discussion Sections

In a discussion section, you will be reviewing your weekly project in collaboration with other students and with a discussion leader. The benefits of CSDS 293 hinge upon receiving high-quality feedback on your software development practices. In turn, this means that you should have enough time to present your weekly project, and that the discussion leader is an exceptionally qualified software developer.

Weekly Presentation and Enrollment Limits

A discussion session should have enough time for you to present the weekly project and receive feedback from the discussion leader and the other students in the course. As a result, the enrollment in each section is capped, and no permission will be granted.

It is often the case that seats are available in the lecture but not in the discussion section. In these cases, permissions will not be granted since the lecture has no inherent enrollment limit, whereas the discussion limit must be enforced.

Discussion Leaders

The discussion leader is an exceptionally talented software developer, and someone who has previously taken the course. The objective is to make sure that students will be able to improve as much as possible their software development and get the most appropriate feedback on their projects. The search for highly qualified discussion leaders is always a work-in-progress, and new sections will be added as new leaders are recruited.

Programming Languages

The majority of sections are in Java, but some sections are reserved for other programming languages. You can find the programming language used in a particular section on SIS by clicking on the section and scrolling down to the class notes. Non-Java sections require instructor consent.

SIS snapshot of Class Notes with programming language

If you choose a non-Java section, you need to be fluent in that language before the course starts since you will have no time to learn it during the semester. The course focuses on software craftsmanship and not on instruction on specific programming languages. If you wish to enroll in a non-Java section, as you apply for instructor consent, you should also cover your degree of proficiency in that language.


The pre-requisites for CSDS 293 are Computer Science major and CSDS 233 Data Structures with a C or higher. The pre-requisites for CSDS 293N are the same except that the class is open to non-CS majors. Pre-requisites will not be waived. Additionally, CS majors should sign up for CSDS 293 only, and requests to enroll in CSDS 293N will be denied.

Course Organization


Online copies of the book are generally available through the library. Therefore, there is not a strong need to buy the book. However, if you own a physical or digital copy of the book, you would be independent of the checkout limits imposed by the OhioLink. Additionally, many course alumni have used their copy of the book for reference on software development after the course.

Last updated: 05/01/2020 13:38:05

Vincenzo Liberatore / vl@case.edu