Index

joshstock.in / 76ff7a3

Source for serving and static templating/compiling of https://joshstock.in.

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
17215 Mar 2023 13:54799917eCS 124 grievance articleJosh Stockin11560G

Blob @ joshstock.in / site / content / blog / uiuc-cs-education.md

text/plain9015 bytesdownload raw
1---
2type: article
3identifier: uiuc-cs-education
4title: Introductory computer science education at UIUC
5description: A list of grievances regarding the CS program, primarily the introductory course, CS 124, at University of Illinois Urbana-Champaign.
6datestring: 2023-03-15
7banner_image: /static/images/uiuc_bardeen_quad.jpg
8links:
9 Email chain, reverse chronology, including letter to HLC: /static/documents/uiuc-cs-complaints.pdf
10 CS 124 syllabus: https://web.archive.org/web/20230221111124/https://www.cs124.org/syllabus/Spring2023
11 ECE 120, a better CS course than "Intro to CS I": https://ece.illinois.edu/academics/courses/ece120
12---
13
14This is a list of grievances regarding the CS program, in particular CS 124,
15"Intro to Computer Science I", the required introductory CS course, at
16University of Illinois Urbana-Champaign. Under advisement of several software
17engineering professionals, I wrote a letter concerning these grievances, sent
18to:
19
20- **Jonathan Makela** (Associate Dean for Undergraduate Programs, *The Grainger College of Engineering*)
21- **Nancy Amato** (Department Head, *Department of Computer Science*)
22- **Margaret Fleck** (Director of Undergraduate Programs, *Department of Computer Science*)
23- **Eric Shaffer** (Associate Director of Undergraduate Programs, *Department of Computer Science*)
24- **Geoffrey Challen** (Professor, *CS 124*)
25
26I'm publishing this following decided inaction from the CS department and
27Grainger College of Engineering regarding these valid grievances. As a student
28paying exorbitant amounts of money for a high-quality education, it's my
29responsibility to hold the university accountable for unfairness and
30low-quality instruction out of line with their purported ideals.
31
32<figcaption>Unfortunately, universities can often get away with shoddy quality
33like this because students don't know what they don't know. How can someone
34authoritatively make judgements on course and content quality without extensive
35prior knowledge and experience with the subject? CS 124 has been like this for
36several years now, and I'm sure if I weren't forced into CS 124 it probably
37would've been several more years before anyone made a serious formal
38complaint.</figcaption>
39
40## Grievances
41
42The following is a summary of the grievances outlined in the original letter.
43
44### Grievance 1: Method of delivery, value of the course
45
46CS 124, considered "traditional delivery", is entirely online and has no
47lectures, discussions, or labs, and quizzes are proctored remotely over Zoom.
48Stripping away in-person interaction between students deprives them of
49development of real world communication and team building skills. Additionally,
50the professor exposes the same course materials on the Internet for free. The
51course is required of CS majors, and there is no deduction in tuition in
52accordance with the low-quality online-only format.
53
54### Grievance 2: Name-content disparity, validity as a CS course, and status as a program requirement
55
56CS 124, "Intro to Computer Science I", is dishonestly named and advertised as a
57computer science course when it is, in fact, not. It would be more aptly named
58"Intro to Java Programming" (there is a difference between computer science and
59computer programming). The course inadequately covers the theory, math, and
60architecture of computers and computer programs, i.e. real computer science.
61Students will not fully understand the ramifications of the code they write.
62There is little justification for explicitly declaring it a computer science
63course or requiring it of incoming CS majors.
64
65<figcaption>Ironically,
66<a href="https://courses.illinois.edu/schedule/2023/fall/ECE/120">ECE 120</a> and
67<a href="https://courses.illinois.edu/schedule/2023/fall/ECE/220">220</a> are better CS
68courses than "Intro to Computer Science I".</figcaption>
69
70### Grievance 3: Choice of programming language
71
72CS 124 is taught and tested in Java, a computer programming language
73unconducive to learning computer science, and is the only course in the UIUC CS
74sequence that uses Java. A student may have extensive prior programming
75experience (the case for many CS majors) but may be forced to take the course
76if they don't know Java—the programming language tested on the proficiency
77exam—making the course little more than a hindrance to higher education.
78
79---
80
81**In essence, beginning the Computer Science main sequence with this course as
82it is now is nothing but a disservice to students paying tens of thousands for
83a high-quality education. CS 124 needs to transition to in-person delivery and
84needs to be turned into an actual CS course that uses C or C++, akin to
85[128](https://courses.illinois.edu/schedule/2023/fall/CS/128). Otherwise, the
86course should be redesignated as an explicit intro programming course (e.g.
87"Java Programming") and made "optional but recommended" of main sequence CS
88students.**
89
90## Official Response
91
92The very long-winded nonresponse I received from Associate Dean Makela and
93Professor Challen are to the following effect for each grievance:
94
951. The switch to the all-online delivery method was made during the COVID
96 pandemic and it was kept afterwards for CS 124 because the course
97 coordinators were comfortable with it, and student performance improved by
98 most metrics. There are a variety of course delivery methods utilized within
99 the university and more than enough resources are provided for CS 124.
1002. Teaching real computer science in CS 124 would make the course far too
101 difficult for students, and real computer science is outside the scope of an
102 introductory course.
1033. C/C++ are too hard for CS students to learn, and Java and Kotlin are
104 provided to students to offer exposure to more programming languages. If a
105 student doesn't want to take the course, they should just learn Java to test
106 out of the course. Also, the course instructor really likes Kotlin.
107
108The only real action taken was the opening of booked locations on campus during
109quiz times, even though the quiz is still proctored over Zoom. Several
110concerns raised in the first email remain unaddressed. The official response
111(or lack of response) to these matters is highly unsatisfactory and leads me to
112question the competency and integrity of the institution.
113
114To the official responses, I offer the following rebuttals:
115
1161. Most other courses have returned to in-person delivery without a hitch and
117 there is no reason why the CS department can't do the same. Improvement in
118 student performance is easily attributable to plagiarism, or the lack of
119 academic/institutional integrity. The response does not address the concern
120 regarding professional development, or quality expectations given course
121 pricing.
1222. Many students entering the CS program already have a good idea of how
123 computers and computer programs work, or have written code prior. Holding
124 back on exposing students to foundational computer systems knowledge hurts
125 them in the long run as it forces them to internalize facts and methods of
126 computer programming without underlying explanation—akin to having students
127 try to learn calculus without prior knowledge of algebra—and forces them to
128 later readjust their understandings of the subject when they are exposed to
129 those fundamentals. The rationale for teaching "introductory computer
130 science" in this highly abstracted manner is the result of the pervasion of
131 the myth than anyone can or should learn to write code, even though software
132 engineering and computer science are—and should be—highly specialized
133 fields. The justification for teaching the course in the manner of a
134 computer programing course is weak, and the dishonesty of calling it a
135 computer science course remains unaddressed. Even as a computer programming
136 course, the course is pitiful and clearly not worth what is paid in tuition.
1373. A lot goes into learning a computer programming language, even if you have
138 already written code and understand computer science concepts. If the course
139 isn't explicitly a programming course, the expectation that a student should
140 learn an entire programming language to take a proficiency exam is
141 completely absurd, especially when no other course in the program requires
142 it. Regardless, Java/Kotlin aren't great choices for teaching computer
143 science because they are not analogs to machine code like C/C++ are; a lot
144 of what the programmer writes is highly abstracted and handled behind the
145 scenes, especially in the case of Kotlin.
146
147## Closing
148
149In an attempt to encourage action, these concerns have been forwarded to the
150Higher Learning Commission, the organization that grants accreditation status
151to UIUC. You can find a PDF with the email chain (which much of this article is
152adapted from), in reverse chronological order, including the complaint sent to
153the HLC, [here](/static/documents/uiuc-cs-complaints.pdf). It contains most of
154what's detailed here, along with some extra documentation.
155
156
157