diff options
Diffstat (limited to 'posts/programming')
-rw-r--r-- | posts/programming/2020-07-11-why-computer-science-at-w-m.html | 255 | ||||
-rw-r--r-- | posts/programming/2020-11-24-i-like-hyper-more-than-actix.html | 23 |
2 files changed, 278 insertions, 0 deletions
diff --git a/posts/programming/2020-07-11-why-computer-science-at-w-m.html b/posts/programming/2020-07-11-why-computer-science-at-w-m.html new file mode 100644 index 0000000..9d98c9c --- /dev/null +++ b/posts/programming/2020-07-11-why-computer-science-at-w-m.html @@ -0,0 +1,255 @@ +<!DOCTYPE html> +<html> + <head> + <link rel="stylesheet" href="/includes/stylesheet.css" /> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <meta + property="og:description" + content="The World Wide Web pages of Adam Carpenter" + /> + <meta property="og:image" content="/includes/images/logo_diag.png" /> + <meta property="og:site_name" content="53hor.net" /> + <meta + property="og:title" + content="Why Computer Science at William and Mary" + /> + <meta property="og:type" content="website" /> + <meta property="og:url" content="https://www.53hor.net" /> + <title>53hornet ➙ Why Computer Science at William and Mary</title> + </head> + + <body> + <nav> + <ul> + <li> + <a href="/"> + <img src="/includes/icons/home-roof.svg" /> + Home + </a> + </li> + <li> + <a href="/about.html"> + <img src="/includes/icons/information-variant.svg" /> + About + </a> + </li> + <li> + <a href="/software.html"> + <img src="/includes/icons/git.svg" /> + Software + </a> + </li> + <li> + <a href="/hosted.html"> + <img src="/includes/icons/desktop-tower.svg" /> + Hosted + </a> + </li> + <li> + <a type="application/rss+xml" href="/rss.xml"> + <img src="/includes/icons/rss.svg" /> + RSS + </a> + </li> + <li> + <a href="/contact.html"> + <img src="/includes/icons/at.svg" /> + Contact + </a> + </li> + </ul> + </nav> + + <article> + <h1>Why Computer Science at William and Mary</h1> + + <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> + </article> + </body> +</html> diff --git a/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html b/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html new file mode 100644 index 0000000..33c5d9e --- /dev/null +++ b/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html @@ -0,0 +1,23 @@ +<h1> + I Like <a href="https://hyper.rs">hyper</a> more than + <a href="https://actix.rs">Actix Web</a> +</h1> + +<article> + <p> + I've been using Actix Web as the HTTP service layer for some web + applications for a while now. I've written several APIs for work and + personal projects on top of Actix and always thought it was pretty spiffy + for what it does: listen for HTTP requests and respond to them with code + I've written. I was always a little bummed about how large the dependency + tree was with the project though, and how long it took to compile. + </p> + + <p> + Recently I've been trying to write or depend on as little code as is + possible to get the job done, so I've been trying to take a look at whether + or not I + <em>need</em> what I've written or imported or even though of implementing + before I've written anything. + </p> +</article> |