Welcome to the Crimson Technology Board Comp! We're looking forward to working together with you to make this a wonderful experience for all involved, and we hope that these "assignments" contribute, rather than detract from that experience.
Before we get going, we'd like to clarify some things:
- These aren't really assignments. Yes, we ask (require) that you do them, but they are not intended to be done entirely on your own, nor do you receive a grade. When you become an Associate for CrimTech, you will not receive a grade nor will you be working entirely on your own.
Let me reiterate - these are not assignments in the traditional sense, and we ask that you seek as much help as you need, that you collaborate where possible, and that you have some fun with this.
- That being said, these are meant to serve a purpose for you and a purpose for us. For you: we want everyone to have something to learn and grow from here.
if you_think_this_is_too_hard:
talk_to_us()
elif you_think_this_is_too_easy:
talk_to_us()
Yes, that is a contrived example of Python code. Yes it's cheesy. And no, not everything we'll be doing is that easy. More importantly we want you to reach out to us (your loving comp directors) at any point. Seriously. You're not bothering us. Talking with you, helping you, making this experience great for you is why we do this. Besides, think of it as giving us a valid reason to procrastinate, which we were going to do anyway. (For funsies: can you think of criticisms of that contrived "example" above?)
For us: we need to see how well you're doing with understanding how to code for CrimTech. We need to be able to assess how we're doing and how to help you. These projects and assignments are for us to have simple metrics and expose you to code.
-
Let me emphasize (again), these are not assignments in the traditional sense. They're meant to be kinda fun, kinda educational, kinda challenging. We ask that you not spend more than 5 hours a week comping CrimTech. You have a life (we hope), and even 5 hours a week should be excessive, like most of your comp should be coming to the Crimson, coding with [new] friends and getting a break from the intensity of academics.
-
Please talk to us....I could've ended the sentence there and it would've been valid. * cries * Seriously though, we need your feedback, and it's partially your responsibility to let us know if something isn't working for you.
So you've decided you wanna do this, and trust us, we're freaking ecstatic that you've done so. We're pumped as we draw this up (maybe too much coffee today?). So here's some logistical stuff:
What you'll need to know coming in:
- How to be civil and respectful
- How to have fun
- How to get work done on time
- How to ask for help so you're not going to bed at 4am every day
What we'll work hard to teach you:
- Python (that's way too broad):
- More specifically, the Django Framework + Python 2.7
- HTML (it's not always glamorous, but hey it can be cool)
- JavaScript (some call it a microlanguage, some call it a royal pain)
- Git (via Github) - it's tricky and most struggle to use it well at first (including yours truly, we sucked at it...for a long time); don't panic!
- Assorted CS practices and concepts (we couldn't think of everything else off the top of our heads)
Submissions are automatically scored and should tell you how you did on each
assignment. The methodology for submission should be pretty easy, but in
essence if you want to submit an assignment, follow the steps below.
1. Go to https://tech.thecrimson.com and login
2. Go to the assignment page for the assignment (https://tech.thecrimson.com/assignments/###)
where ### is the number of the assignment you're doing.
3. Upload the file(s) you've been instructed to in the relevant README.
4. Press Submit.
It really is that easy! But also make sure to check out how you did by going back under the
comp tab on the main page, and click the assignment to expand out your results.
To be honest, we've all been there - you forgot, you had actual homework, you
were sick, your goldfish had a funeral, etc. We're human (and students) too.
That being said, we require that your projects and assignments be done on time.
Checking is automated, so we don't even really get too much of a say. If you're
even a moment late, don't panic (see Late Policy: sentence 1). Just shoot us an
email, attaching your assignment. We'll note that it was late, and why. Do this
immediately upon realizing your asisgnment is late. "But I forgot, so I know it's
late, but I can't attach it". Fear not, the mitochondrion is the
powerhouseofthecell. Just send us an email the moment you realize it's late, then
when you've finished it, reply on *that* email thread with the attachment. We're
not cruel, and we want you to succeed. But you're also not in elementary school,
and we expect you to be responsible. Reach out to us if you have a problem. Let
us know if you need something, and we're willing to be accommodating - this is a
two-way communication highway.
We'll explain a little more about this in the first meeting, but medium story short: we ask that you get three meals with the CrimTech associates of your choice. It doesn't really matter when or where, or even how many of you there are (if you're shy, bring a friend!). We just want you to get to know some of the current associates, and we think that while social mixers/game nights/etc. are great, breakfast/lunch/dinner are also a great way to be a little bit more personal.
Personally one of our favorite parts of the comp process. It's an interview! We won't tell you much about the specifics of it (until you're literally there), but expect to dress business formal (no Silicon Valley hoodies), and to answer some technical questions.
You should see the look on your metaphorical (maybe literal) face. Before you panic/get upset/complain, the midpoint interviews are actually intended more as a gauge of where you're at. The "technical" questions won't warrant preparation.
If you've been actively participating in the comp, midpoints will be an almost literal walk in the park. I'm serious. They're more about your effort than your skill - after all, didn't we just finish telling you how we understand you all started at different skill levels? Do. Not. Stress. Out. About. These.
These are awesome. They're an introduction to some of the team-based structuring of CrimTech in addition to CrimTech's codebase. There will be more details later, but know that these are long-term projects that will hopefully be implemented into the Crimson website (your first official contribution).
Ok so that was a hella long document to read. And we're sorry, we know your time is valuable, and we respect that. Thank you for taking the time to read through it. Time for more contrived Python code:
if comper.question and comper.question in docs:
return RTFD
elif comper.question and not comper.question in docs:
return ans
else:
return None
Again, read through that - it's in roughly English, and there are logical redundancies+readibility issues, can you see them? Also, sorry (not sorry) for the cheesiness. Seriously though, ask us questions - they will save you and us a ton of trouble, and hopefully improve your experience. Welcome again, and happy comping! (Proceed to GET_STARTED.md to get started)
Love,
Nick && Richard