1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
<?php
$title = "Why Computer Science at William and Mary";
if (isset($early) && $early) {
return;
}
include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php');
?>
<p class="description">
Recently a rising high-school senior asked for input on what going to
the College of William and Mary was like for a Computer Science degree.
They were asking about the program itself as well as what it's like on
and off campus. Here's what I sent to them.
</p>
<h2>Quick Intro</h2>
<p>
I graduated with a Bachelor's in Computer Science from W&M in 2018.
I'm a couple years in the workforce now but can still remember my
experiences well enough to hopefully add my honest opinion on my time
there as well as how it prepared me for my career. I will also add a
little bit about my time on campus in a dorm and off-campus in Colonial
Williamsburg.
</p>
<h2>Courses and Curriculum</h2>
<p>
I felt very positively about the array of courses that were offered
while I was a student. I took a variety of core prerequisites, just like
everyone else, and a good mix of electives. The courses I took include
Data Structures and Algorithms, Software Development/Engineering,
Computer Organization/Architecture, UNIX Systems Programming, Computer
Graphics/Animation, and Computer and Network Security. This list is not
exhaustive and I'm sure they aren't all offered anymore. I was also
required to take a few math classes (Calc I, II, Discrete Math, Linear
Algebra, and Finite Automata).
</p>
<p>
It is true that the courses listed at <code>cs.wm.edu</code> aren't all
offered at the same time. And it is also true that the higher-level
electives pretty much all required my core prerequisites to be
completed. The result is that the electives all came in my final two
years. My understanding is the curriculum is designed to give someone
the best possible background in computing as a whole. A lot of the
topics may seem like they would never be useful in the "real world" but
I have found the opposite is true. I am an application developer at a
three-letter company. My day-to-day work is building and debugging web
apps, but there's been a lot more to it than that. My first assignment
on the job was scraping bytes off a remote shell and writing a parser to
sift through them. The level of understanding I gathered from my core
classes helped more than I expected they would. I think as a whole they
give me an edge at work and help me teach my colleagues about
algorithms, performance, and systems administration.
</p>
<p>
That being said, course registration was always nightmarish. It was very
difficult to get into the limited seats in the classes I was most
interested in. Eventually the heads of the department had to pass around
a sign up sheet and organize every student into courses, classrooms, and
professors so that seniors would graduate on time and we could all get
<em>something</em> on our schedules. I hope the shortage of teachers has
caught up since I graduated. I learned from a long-time faculty member
that this is largely a result of the exponential growth of incoming CS
degree-seekers. The program has grown very popular in the last ten years
and I like to think grads are catching on to that.
</p>
<h2>Teaching</h2>
<p>
CS@W&M had neutral to good instructors for me. Some were far worse
than others, as with all subjects. When I was there, lots of the older
faculty were retiring and quickly being replaced with younger, newer
instructors, which added to the growing pains of the program. The most
important thing again was making sure there were enough teachers to
teach all of the students.
</p>
<p>
I know a few of my peers were very upset about what they described as a
lack of communication or availability from their professors. Some have
also mentioned they didn't like having to learn material on their own
and wanted more to come from instruction. I don't deny that the material
itself was difficult and there was a lot of hard work I had to do on my
own to understand very involved concepts in intense, fast-paced courses.
I think that hard work has paid off. I don't think there's realistically
anywhere someone can learn about computing where they won't do any
learning on their own. I am also a very visual, and hands-on learner so
I suppose your mileage may vary.
</p>
<p>
The most important takeaway from this for me was the ability to pick up
new concepts and technologies quickly and apply them productively. The
majority of professors had project-driven courses. Lots of due dates
meant learning how to transform what I read or learned in class into
practical applications in short amounts of time. This has become,
according to those I work with, one of my greater assets. I am
constantly learning new things in my career and I don't have a lecturer
to explain things to me. It's very powerful to have that and I am
thankful for it. It also helps me teach that knowledge to my colleagues
so we can move faster as a team.
</p>
<h2>Campus</h2>
<p>
I agree with my peers about the conditions of classrooms and buildings
on campus. Some are old. I guess that comes with an old university but
there are a choice few that haven't been kept up as best they could.
Since CS is growing so fast it's also long outgrown its own offices.
Classrooms are scattered throughout every academic building on campus
and I probably had a CS course in at least 80% of them. That meant
jumping from one side of campus to another and back again in between
periods.
</p>
<p>
The College itself isn't too sprawling. I am long-legged and I found I
could get from one end of campus to another in fifteen minutes on foot.
I rode bike a lot to get to classes where I only had ten minutes to do
it. It's also pretty marshy and woodsy in a lot of areas, so during the
rainy season some walking paths got muddy or flooded. Good boots
required. I have never been in as good shape as when I had to do all
that walking but I definitely got soaked and winded making those
transitions.
</p>
<p>
I appreciate history and architecture and was drawn in by the look and
feel of William and Mary as a result. Without getting too romantic, it's
definitely a beautiful place to attend classes. The ancient Wren
building still holds classes and it's a monument to the College's
tradition. However, I really appreciated the modern academic buildings
on the other side of campus where all of the new construction was taking
place. Modern lab equipment and the library lived there.
</p>
<p>
The dorms were nothing to write home about. Lots of them were nested in
the woods and built ages ago so they were a little tired and even dingy.
Others are brand new and well maintained; ask around and get opinions on
which ones to go for first chance you get. I made do with what I got for
the first couple of years by keeping it clean and decorated. My last two
years I lived in a couple of off-campus apartments. It was well worth
the switch. Depending on where you are on campus you may need at least a
bike to access local restaurants, shops, and the grocery store. A bike
is a good idea anyway but it's not necessary for every dorm.
</p>
<h2>Colonial Williamsburg</h2>
<p>
Lots of my peers didn't appreciate CW as a "college town" but I enjoyed
my time there. I can't speak about parties or clubbing, I was boring and
didn't do any of that. I made a great group of friends and we would walk
into town to get ice cream, see historical attractions (most of which
are free as a student, IIRC), and see movies or plays when we weren't
studying or playing video games in the dorm. There are some good,
sort-of-affordable restaurants but they're kind of driving distance.
</p>
<p>
The best part about living there was meeting my wife. We would go on
long walks to get away from studying and wound up seeing
horse-and-carriages and the Governor's Palace and things like that. We
would also escape with her car to go to some of the surrounding towns to
get away to nice grocery stores and fun places to eat and explore on the
weekends. I also have family in the area so it was easy for me to stop
by home and say hi, although I know lots of students wanted to get as
far away from home as possible.
</p>
<h2>Parting Words</h2>
<p>
I don't consider myself a gung ho alumnus. There are lots of things I
think could be improved, both in CS and at W&M as a whole but I do
not regret my going there. There is no such thing as "everything is
great" or "everything is terrible". It's not so definitive. I had my
fair share of gripes and at times it strained me. There were pros and
cons but I think I have a lot to be thankful for (I landed my job
through W&M recruiting and the career center as well, which are
fantastic resources). I cannot say "do this instead of that." I haven't
gone to any other colleges and don't know enough about them to recommend
them as better or worse. What I can recommend is the same path I took
for folks who want to pursue a degree in Computer Science. I think
you'll come away from it all the more knowledgable, resourceful, and
dedicated.
</p>
|