CSDS 293

CSDS 293 Information Sheet

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 additional questions about CSDS 293, please send an email to vl@case.edu.


Update December 5, 2023: Three more sections should be listed soon. More sections are expected to be listed afterwards.


Update November 30, 2023: Three sections have been listed. More to come.


Update November 15, 2023: I am recruiting discussion leaders who are available for the course. Afterwards, I will be able to list it on SIS.

Scheduling

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

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.

Pre-Requisites

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

Textbook

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