-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
706 lines (491 loc) · 42.1 KB
/
index.html
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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
<meta charset="utf-8">
**Advising**
[Dr. Anthony J. Clark](http://anthonyjclark.com)
This is a pretty long document that can serve as a one-stop shop for all advising related activities. You might find it
useful to search the page for something in-specific. For example, if you don't know what computer scientists do, you
might search the page for "jobs."
One last note: **I am an important part of your Pomona College experience**, you should plan on meeting with me to
discuss classes, careers, and any troubles you might be having (academic or otherwise).
Here are some quick highlights about me:
- You can call me "Prof Clark" (I also don't mind Dr. Clark or Tony). This is somewhat of a convention on campus, you'll almost never go wrong with "Prof Surname" when referring to your instructors.
- I am originally from the Kansas City area.
- I have a Bachelor of Science (BS) in Computer Engineering from Kansas State University.
- I have a Doctor of Philosophy (PhD) in Computer Science from Michigan State University.
- [I work with students to build small, robust autonomous robots](http://anthonyjclark.com/arcs-lab/).
<!--
TODO:
- sakai site on advising
- job search sequence/timeline
-->
Directions
===============================================================================
My office is Edmunds Hall 127. Here is how you get to my office from the main entrance to [Edmunds
Hall](https://www.pomona.edu/map/?id=523#!m/54434) (facing north from the south side of the building off of 6th Street).
![Directions to My Office](resources/directions-to-office.mp4)
Before We Meet
===============================================================================
Generally, you do not need to contact me before stopping by my office. You should feel free to stop by and chat about
anything at any time. However, if you'd like to get **released to register** for the next semester, I'd like you to do a
little prep work before we meet:
- Send me an email or Slack message to setup a time to meet (we'll need about 30 minutes). See [How to Email Your Professor (without being annoying AF)](https://medium.com/@lportwoodstacer/how-to-email-your-professor-without-being-annoying-af-cf64ae0e4087).
- Come to my office prepared with questions and/or topics to discuss.
- Come to my office with a list of courses that you are considering (including one or two backup options).
You don't need to have your schedule planned out, but it will help me get an idea for what you'd like to take. Here are
some other general tips:
- I prefer face-to-face meetings the first couple of times we discuss your schedules.
- If you know your schedule or have a quick question, then we can discuss via email.
- To make an appointment send me an email with a couple of days notice and with a few of your preferred meeting times.
- Let me know if you are going to be more than 10 minutes late and we can reschedule.
It might seem like a small things, but I highly recommend [**setting-up Outlook email on your
phone**](https://w2.outlook.com/l/mobile?WT.mc_id=Outlook_Front_Door). Almost all communication on campus will be via
email, and some of it will be very time sensitive (for example, a canceled class, meeting, or office hours).
Advising Meetings
===============================================================================
We will use most of our meeting time to discuss your course schedule for the next semester (or whatever else you have on
your mind). I'll usually ask you the following question:
- Why computer science?
- What other majors did you consider and why?
- What courses are you thinking about taking next semester?
The following links/resources will be handy:
- [Pomona College Calendars](https://www.pomona.edu/administration/registrar/calendars)
- [Registering for Classes - FAQ](https://www.pomona.edu/administration/registrar/registration)
- [General Education Dashboard](https://my.pomona.edu/ICS/StaticPages/GeneralEdCourseSearch.aspx)
- [General Education Requirements Handout (PDF)](https://my.pomona.edu/ICSFileServer/FacultyForms/GE%20requirements%20handout.pdf)
- [General Education and Intensive/Overlay Requirements Course Search](https://tableau.campus.pomona.edu/views/GEdashboardforweb/DashboardforWeb?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no)
- [Hyperschedule - The fast course scheduler](https://hyperschedule.io/)
- [5scheduler](https://www.5scheduler.io/)
- [ASPC Planner](https://pomonastudents.org/courses/planner)
- [What Should My First Math Class Be?](https://www.pomona.edu/academics/departments/mathematics/resources/placement-advice)
Other important links:
- [Pomona Portal](https://my.pomona.edu/)
- [Sakai](https://sakai.claremont.edu/portal)
- [Academic Advising](https://www.pomona.edu/administration/academic-dean/academic-advising)
- [Computer Science Requirements and Courses](https://catalog.pomona.edu/preview_entity.php?catoid=37&ent_oid=2017)
- [Degree Requirements & Academic Regulations](https://catalog.pomona.edu/content.php?catoid=37&navoid=7551)
## Getting an Advisor Release Over Email
While it is not my preferred method, if you are organized we can always complete an advising meeting by email. I expect
you to send me your proposed schedule as well as a few backup courses. You can try-out
[Hyperschedule](https://hyperschedule.io/ "Hyperschedule - The fast course scheduler") (or the slightly newer
[5cscheduler](view-source:https://www.5scheduler.io/)) and show me what you've come up with.
## Registration Process
- Search for courses on my.pomona (you can search by discipline and area, searching by course number or title is less useful)
- Meet with advisor
- Add/register/enroll and drop courses using my.pomona
- First-year students take ID 001
- Transfer students may take up to 6 course credits, but only 4.75 can be registered prior to the first day of class.
- If you are logged-in, you will see eligibility (open/closed, enrollment requirements) information.
**On my end, I need to grant your registration clearance.**
## Registration Time-line
Here is a rough time-line for a single academic year starting in the fall.
- Prior Spring
- current student advising window for fall
- current student pre-pre-enrollment for fall
- current student pre-enrollment for fall
- Summer
- incoming student pre-enrollment orientation
- incoming student advising window for fall
- incoming student pre-enrollment for fall
- incoming student move-in (some move in early)
- Fall
- instructors consider PERM lists
- classes start and enrollment reopens
- enrollment ends of the second week
- drop and grading option deadlines (check calendar)
- student advising window for spring
- student pre-pre-enrollment for spring
- student pre-enrollment for spring
- Spring
- instructors consider PERM lists
- classes start and enrollment reopens
- enrollment ends of the second week
- drop and grading option deadlines (check calendar)
- process continues for next academic year
(Note: this doesn't include students starting in a spring term.)
## Course Load
- Four one-credit courses for eight semesters (32 total credits).
- Minimum full-time course load is three.
- First-semester students cannot exceed 4.75 courses (unless one or more courses is a half-credit course, then the maximum is 5.25).
- Second-semester students who complete the first semester with a B may enroll in 6 courses (otherwise the limit from the first semester carries over).
- All other students may enroll in a maximum of 6 courses.
## Pre-Enrollment
Students are limited to 4 full courses during pre-enrollment. Other courses may be added at the start of the semester.
## PERMs (Permission to Register)
- Submit a PERM if the course is full, you don't meet the course requirements, or if the course is by PERM only.
- You can still only register during your add period.
- You are **not** automatically registered in course.
- You'll need to wait for a response from the instructor.
<!-- TODO: PERM flowchart? -->
## General Planning Advice
These are not requirements, but they are good ideas in general.
- Consider internship opportunities each summer (even your first summer).
- Consider research opportunities every semester and summer.
- First year
+ complete at least three of the six breadth of study requirements
+ complete a physical education course
+ explore fields that were not available to you in high school
+ balance your topics
- Second year
+ declare your major
- Third year
+ consider career options
+ consider graduate/medical/business school
+ consider a senior thesis
- 11 courses in major; 21 courses for experimentation (relax and take chances)
## Pass/No Credit (P/NC)
First-year students and sophomores may take three courses on the Pass/No credit grading option per year; juniors and
seniors have unlimited P/NC options outside their major. Students may take courses for Gen Ed requirements on a Pass/No
Credit basis. However, most departments require that courses for the major be taken on a letter-grade basis.
## Independent Study Limits
Students may enroll in one Independent Study course per semester for the first and sophomore years, and two per semester
in the junior and senior years, with the permission of the instructor and advisor.
## Cross-Enrollment
Note: While students may cross-enroll in areas that Pomona does not offer courses, they must complete a Pomona major.
- First-year students may cross-enroll for one course each semester.
- Sophomores, juniors, and seniors may cross-enroll for 40% of their overall program. Normally this will mean that the student will not cross-enroll for more than 10 of the 24 courses taken in the 2nd, 3rd, and 4th years.
- Exceptions to the rules above are contingent on advisor approval.
Advising FAQs
===============================================================================
My advisor hasn't cleared me, what should I do?
: Reach out to your advisor as soon as possible.
I am trying to add a 5th course, how do I get approval?
: Students are limited to pre-enrollment in four full courses (4.0 credits) and .75 course credits from partial credit courses. Additional courses may be added, subject to the student's eligibility; at the start of the semester.
The portal won't allow me to add or drop courses; it says I have a hold. What should I do?
: Determine what type of hold is on your account, and then contact the department associated with your hold (and your advisor).
My PERM was just approved, but my registration appointment is over, how can I add the course?
: Once Add/Drop reopens on the first day of classes, you will be able to add the course.
Can I complete a major from one of the other colleges?
: No. Though you do have the option to propose a special major.
Can I take my breadth areas, overlays and/or language requirement courses as Pass/No Credit?
: Yes.
What's the minimum grade to satisfy a General Education (GE) Requirement?
: D- or P (Pass).
I'm not seeing my AP exams on my transcript, what should I do?
: Contact admissions and ask if they received your scores from College Board.
Can AP exam credits satisfy Breadth requirements?
: No. But a score of 4-5 on an AP (or 6-7 on an IB) language exam may satisfy the foreign language requirement.
Computer Science Requirements
===============================================================================
![Click to open in a new tab and zoom.](resources/cs-flowchart.svg)
CS FAQs
===============================================================================
What is the difference between *Computer Science (CS)*, *Software Engineering (Software Developer)*, *Management and Information Systems* (computer information systems (IS), information technology (IT)), *Computer Engineering*, and *Data Science (DS)*?
: To put it simply: <u>computer scientists</u> study programming, theory, and methods for developing large programs; <u>software engineers</u> are similar to computer scientists with a larger focus on programming; <u>information technology personnel</u> focus more on business, using software as a tool, and making decisions on computer hardware (specs, prices, etc.); <u>computer engineers</u> work more on *low-level* software that interacts directly with hardware (sometimes called embedded systems, like writing a driver for a new USB device so that it can talk to the operating system); and <u>data scientists</u> work in interdisciplinary teams try to model processes or discover useful patterns in data (these techniques often involve "big data," artificial intelligence (AI), machine learning, or neural networks (deep learning)). See [this discussion on Reddit](https://www.reddit.com/r/explainlikeimfive/comments/anr40s/eli5_whats_the_difference_between_cs_computer/) for more information.
What is the difference between *Computer Science* at Pomona College (a liberal arts college) and Computer Science at a research university?
: The biggest difference is in the number of required CS courses. You are required to take 11 CS courses here at Pomona, but at a state school, [like UCLA](https://www.seasoasa.ucla.edu/curric-20-21/83-compsci-cur20.html), you might be required to take closer to 18 CS courses. Our department tends to combine a few subject areas, such digital logic, networking, and operating systems, so that you end up seeing a similar breadth of topics but perhaps less depth in some areas.
What kind of jobs (careers) do computer science students get?
: Computer scientists are in-demand around the country. Most of our students end up with the title *Software Engineer*, which means they spend their time designing, programming, and debugging large pieces of software. CS students might also look for careers in academia or data science. I am happy to chat with you about all of your options!
<!-- salaries, companies, success rates for department -->
How do I get involved in computer science on campus and Southern California?
: See section Getting Involved.
What programming languages should I know?
: There is no correct answer here, but I'd recommend learning the following (over the course of **many** years): a general-purpose **scripting** language (e.g., Python, Ruby), a shell scripting language (e.g. Bash), a compiled **systems** language (e.g., C, C++, Rust, Zig), a **JVM** language (e.g., Java, Kotlin, Scala, Clojure), a **web** programming language (e.g., JavaScript, TypeScript), a **Lisp-y** language (e.g., Common Lisp, Racket, Scheme, Clojure), an object-oriented programming (**OOP**) language (e.g., Java, C#, Smalltalk), a **functional** programming language (e.g., Haskell, SML, F#, Erlang), a **logic** programming language (e.g., Prolog), a **stack** language (e.g., Forth), a BEAM language (e.g., Erlang, Elixir, Gleam), a parallel computation language (e.g., Halide, Futhark), and an **array** language (e.g., APL, J, Q, K, Uiua). You can find some languages that overlap several areas. For example, C++ is a systems OOP language and Scala is a functional JVM language. The more important question is answered next.
How do I learn a new programming language?
: It is best to start with a project idea in mind. See section Programming Projects.
How can I get help with writing, math, interviewing, finances, etc?
: See section Resources.
Can I test-out of (not have to take) the first CS course (CS 51)?
: Yes, you should speak with your advisor about your programming background, which might include a high school AP course, work experience, or self-study. Students occasionally skip CS 51.
General Education
===============================================================================
> "Breadth of Study Area Requirements: Thirty-two course credits or the equivalent are required to graduate. Courses taken to satisfy General Education requirements may be taken for letter grade or on a Pass/No Credit (P/NC) grading basis. No two breadth areas can be fulfilled with only courses from the same department or program. Once matriculated, Breadth of Study requirements can only be satisfied with courses taken in residence at The Claremont Colleges. Courses taken abroad or on other external programs do not satisfy area requirements."
-- [General Education Requirements Handout (PDF)](https://my.pomona.edu/ICSFileServer/FacultyForms/GE%20requirements%20handout.pdf)
You must satisfy:
1. The six breadth areas. One course in each of these areas:
+ Area 1: Criticism, Analysis, and Contextual Study of Works of the Human Imagination
+ Area 2: Social Institutions and Human Behavior
+ Area 3: History, Values, Ethics and Cultural Studies
+ Area 4: Physical and Biological Sciences
+ Area 5: Mathematical and Formal Reasoning
+ Area 6: Creation and Performance of Works of Art and Literature
2. The physical education requirement of completing two activities.
3. The language requirement, which can be satisfied in many ways.
4. The overlay requirements:
+ One writing intensive course
+ One speaking intensive course
+ Analyzing difference
Other information:
- Some courses can satisfy breadth area and overlay requirements, but the same course can never satisfy both the writing and speaking intensives.
- You can take courses for letter grade or on a Pass/No Credit (P/NC) basis.
- You cannot fulfill two breadth areas with courses from the same department or program.
- Must be satisfied by courses taken in residence at The Claremont Colleges.
See the [General Education Requirements Handout (PDF)](https://my.pomona.edu/ICSFileServer/FacultyForms/GE%20requirements%20handout.pdf) for more information.
Being "Successful"
===============================================================================
*Disclaimer: this section includes my advice and opinions.*
If you want to be a "successful" student (for whatever you might have as your personal definition of success), I think you must start with **metacognition**. Metacognition is an awareness or analysis of your own learning or thinking processes. Essentially, you should commit to thinking about how you are thinking.
- Are you reading/watching without understanding (do you find yourself needing to reread paragraphs of text or rewatch sections of videos)?
- Do you recognize when you don't understand something?
- Are you being lazy while learning? We all often assume that we understand something and convince ourselves not to think deeply, complete practice problems, or engage with optional critical thinking tasks.
Even if you are not currently metacognitive, the great thing is that it is a skill that you can learn (like anything else).
Here is one method to get started with metacognition. Start taking learning notes by answering these question on a weekly basis:
- What do I think I was supposed to learn this week? You can this compare these topics to the readings, assignments, and syllabi.
- What was easiest for me to learn this week? Why?
- What was most challenging for me to learn? Why?
- What study strategies worked well as I prepared for my exam?
- What strategies for exam preparation didn't work well?
- What will I do differently next time?
A few things to consider:
- Teach a subject to a peer or TA (and take turns doing so).
- Create your own test/exam questions at the (apply/analyze/evaluate level of [Bloom's](https://www.bloomstaxonomy.net/)).
- Studying is an active process and it rarely involves just reading.
- Create flowcharts (or mind maps) to reorganize and summarize information from your classes each weeks.
- Use [Pomodoro task management](https://www.forbes.com/sites/bryancollinseurope/2020/03/03/the-pomodoro-technique/)
- Be [deliberate](https://jamesclear.com/deliberate-practice-theory) when learning
- [Interleave](https://www.learningscientists.org/blog/2016/8/11-1) study topics
- Try to maintain a [growth mindset](https://hbr.org/2016/01/what-having-a-growth-mindset-actually-means)
- Try using [temptation bundling](https://jamesclear.com/temptation-bundling)
- Consider using [Anki](https://docs.ankiweb.net/getting-started.html) as a flashcard app
- [Take notes by hand and not on a keyboard](https://cpb-us-w2.wpmucdn.com/sites.udel.edu/dist/6/132/files/2010/11/Psychological-Science-2014-Mueller-0956797614524581-1u0h0yu.pdf)
- Jot down notes in your own words, don't just copy what was said or seen
- [Study Less, Study Smart](https://medschoolinsiders.com/pre-med/study-less-study-smart-what-i-wish-i-knew-in-college/)
- Review your notes the next day, not just when an exam approaches
- Start homework when it is assigned
- Put study time on your calendar (use your calendar effectively)
- Maintain a writing schedule (write 30 minutes every day)
- No TV while studying
- No music with lyrics while studying
- Complete homework without Googling
- Never be afraid to fail
- Failing is part of learning
- Try to fail better each time
- Criticism is part of learning
- Don’t concern yourself with others
- Create your own practice questions
- Stay positive
- [Innate learning styles is a myth](https://www.apa.org/news/press/releases/2019/05/learning-styles-myth)
- [Effective multi-tasking is a myth](https://www.psychologytoday.com/us/blog/creativity-without-borders/201405/the-myth-multitasking)
A couple of useful resources:
- [Learning How to Learn: Powerful mental tools to help you master tough subjects | Coursera](https://www.coursera.org/learn/learning-how-to-learn "Learning How to Learn: Powerful mental tools to help you master tough subjects | Coursera")
- [The Happiness Lab Podcast](https://www.happinesslab.fm/ "The Happiness Lab Podcast")
I highly recommend spaced-repetition learning. Know that you are going to forget what you learn, but that you can forget less by purposefully giving yourself reminders using an app like Anki. Take a look at the [Forgetting curve](https://en.wikipedia.org/wiki/Forgetting_curve) for more information.
Getting Involved
===============================================================================
Here is an informal list of things to consider when looking for friends and acquaintances on campus:
- [Claremont Colleges Clubs and Organizations](https://claremont.collegiatelink.net/organizations)
- [Pomona Clubs and Organizations](https://www.pomona.edu/life-at-pomona/clubs) (e.g., [P-ai](https://www.p-ai.org/team))
- [Dining and Entertainment in downtown Claremont (The Village)](http://www.thevillageclaremont.com/restaurants.html)
- [Academic Cohorts at Pomona College](https://www.pomona.edu/academics/academic-support-resources/academic-cohorts-pomona-college) (e.g., PSM)
- [Diversity Resources for Students](https://www.pomona.edu/administration/diversity-pomona/resources-students) (e.g., Black and Brown Students Group)
- [Computer Science Colloquium](https://www.pomona.edu/academics/departments/computer-science/colloquium)
- [Research at Pomona](https://www.pomona.edu/research)
- [Pomona College Internship Program (PCIP)](https://www.pomona.edu/administration/career-development/job-internship-search/pcip)
- [Study Abroad](https://www.pomona.edu/administration/study-abroad)
- [Slack](https://pomona.app.box.com/s/cnazc9cqapoghsiai6nfdrsyo4v424wn)
- [Draper Center for Community Partnerships (supporting learning through service, collaboration, and change-making in our local communities)](https://www.pomona.edu/administration/draper-center)
More information about [Life at Pomona](https://www.pomona.edu/life-at-pomona).
Graduate School
===============================================================================
Pursuing a Master's or PhD is quite a bit different than pursing a job. Though, getting a Master's is not much different than the process you went through to get your undergraduate degree, so I am going to focus on PhDs here.
Here is the basic process:
- Find undergraduate research experiences (research experience for undergraduates (REUs), independent research projects, research with faculty, work in a government research lab, etc.).
- Take the [the GRE general test](https://www.ets.org/gre) (similar to the ACT/SAT) before your senior year. (Note: this might not always be necessary anymore.)
- Search for PhD **advisors** before you start applying. Your choice of advisor is vastly more important than your choice of school.
- Contact potential advisors.
- Apply to research universities the fall of your senior year.
For finding an advisor, I recommend:
1. Searching for research papers ([Google Scholar](https://scholar.google.com/) work well) that cover topics in which you are interested. Look for papers that were published in the last few years.
2. Contact authors that are current faculty members (the first author is often a PhD student--so keep an eye out for faculty members in the author lists). When you contact faculty members you should not be pushy, but you should offer to send them descriptions of your undergraduate research and your resume. This should be done early during the fall semester of your senior year (assuming you want to start grad school the following fall).
Students often think they need to complete a Master's before they look for PhD programs. However, many faculty members prefer you to get your Master's with them too. This gives them an extended period of time to work with you before they need to commit to funding your through a PhD. Basically, if you don't work well with the advisor you can leave with your Master's and look for someone else to guide you through a PhD.
Resources:
- [Applying to Graduate School](https://careers.umbc.edu/students/gradschool/)
- [Computer Science Undergraduate Research: Grad School](https://conquer.cra.org/students)
- [The illustrated guide to a Ph.D.](http://matt.might.net/articles/phd-school-in-pictures/)
- [Preparing a Graduate School Application & Contacting Potential Supervisors](https://youtu.be/B3oANa67Iq4)
Some general notes:
- PhD vs Master's
+ PhD: research focused; paths into the academy (teaching and/or research) and research labs; more like a job you'll have for 4-6 years than school.
+ Master's: professional focused; more like your undergrad program (2 years or so) but with more of an emphasis in one area of advanced computer science.
+ Perspective form a PhD advisor: a PhD student is more likely going to work for several years and produce results, so a PhD student is more likely to receive a research assistantship.
+ You can always plan on a PhD and leave earlier with a Master's if you find it not to your liking.
- Funding
+ Never pay for grad school in CS.
+ You can apply for fellowships and fund yourself (for example, [[https://www.nsfgrfp.org/][An NSF GRFP]]). You're likely to get to go anywhere you'd like if you come in with a GRFP. Many universities also offer fellowships that are not tied to a specific research lab.
+ You can receive a research assistantship from a faculty member.
+ You can work for a department as a teaching assistant.
+ Your employer might pay for your Master's if you agree to work for some number of years.
- Where to apply
+ Find a place doing the work you want to do.
+ Find an advisor whose values (e.g., work/life balance, broad vs narrow focus) line up with yours.
* Style of advising is important too.
* Speak to current students about the lab environment.
+ One benefit of getting a graduate degree is that you can try-out one or two new places to live.
+ Look for advisors working in a specific area of your interests (look for research papers on the web).
- Life as a grad student
+ The pay is lousy (25-30k/yr).
+ Benefits are OK (health, sometimes childcare, sometimes cheap housing)
+ Can be very uncertain (am I working on the right thing? Am I doing it the right way?), so have to be comfortable with being uncomfortable.
+ You are paid to do research and/or to TA courses. This can mean
* teaching lectures or small discussion sections,
* grading and holding office hours, and/or
* acting as an "instructor of record" for a course.
+ You will probably get to travel on a yearly basis.
+ Speak with current grad students to get a better idea.
- Applying and getting accepted
+ Have a CV as part of your application, website are typically less important.
+ Make it clear about why you're applying to this place in particular.
+ Personal connection (even by email) with advisor or current students very effective.
+ Ask for recommendations some time in advance.
* Provide an outline of the main things your recommender knows about you and that you want them to highlight in your application. [Here are my requirements](https://cs.pomona.edu/~ajc//reference/).
+ An REU (research experience for undergrads) can show you are serious about research.
* Find REU opportunities [here](https://www.nsf.gov/crssprgm/reu/) or [here](https://reufinder.com/).
- Going from industry to academia
+ It is not common to go from industry to academia, but mainly because
* it is a **big** pay-cut, and
* you'd need to move your family to a new location.
+ Generally, universities and faculty like perspective students with industry experience. They come in with more programming skills, they are more mature, and they have definite reasons for committing to academia.
Getting a Job
===============================================================================
You should start by answering the following question for yourself: *What are your career goals?*. Do you want to work in
web development? Do you want to start your own company? Do you want to work for a large or famous tech company? Do you
want to build video games? Does *data science* sound like it would be a good fit? It is useful to have some idea about
what you want out of your computer science career.
Here are my recommendations:
- Get involved in student groups (section Getting Involved).
- Get involved in off-campus activities (section Getting Involved).
- Consider working on an independent research project (for course credit or not).
- Start working on your computer science *profile* early.
- Build [your resume](https://www.pomona.edu/sites/default/files/cdo_resource_guide.pdf) early.
**Computer science profile**: when looking for computer science jobs, it can be important to demonstrate that you can
(a) learn new technologies, (b) develop a medium sized piece of software (something bigger than your class projects),
and (c) communicate with collaborators and users. The easiest way to do this is to develop your portfolio of coding
projects.
I recommend creating a [GitHub](https://github.com/) account (or BitBucket or GitLab, or etc.), and then creating a
simple website that describes your varying projects. You can then put a link to that website on your resume. This will
enable you to highlight which projects you want employers to view. Make sure you have design documents, good
documentation, and good follow-through (don't exclusively have abandoned projects). Turning your resume into a webpage
can be a great way to get started.
Many large companies have program specifically targeted at first and second year computer science students. Here are
some:
- Microsoft Explore
- Facebook University
- Google STEP
- Twitter Academy
Programming Projects
===============================================================================
It is needlessly difficult to learn programming without having something to drive your interest. I recommend coming up
with a project idea. For example,
- building a game in Python with [arcade](https://api.arcade.academy/en/latest/) or [pyxel](https://github.com/kitao/pyxel),
- building a game in JavaScript with [kaboom](https://github.com/replit/kaboom),
- creating a resume [website on GitHub](https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site),
- [creating a programming language](https://www.craftinginterpreters.com/),
- [writing a ray tracer](https://raytracing.github.io/books/RayTracingInOneWeekend.html), or
- playing with an [Arduino](https://create.arduino.cc/projecthub/projects/tags/beginner) or [Raspberry Pi](https://projects.raspberrypi.org/en) etc.
You can pick the project based on the programming language you want to learn (or vice versa). You do **not** need to understand every detail along the way. In fact, the details can often get in the way of accomplishing something, which can be demotivating.
I am happy to give advice on where to start once you have chosen something that interests you.
Papers, Posters, and Presentations
===============================================================================
Here are some resources that you can use for creating presentations and posters.
- [Writing for Computer Science | SpringerLink](https://link.springer.com/book/10.1007/978-1-4471-6639-9)
- [How to write a good abstract for a scientific paper or conference presentation - PubMed](https://pubmed.ncbi.nlm.nih.gov/21772657/)
- [How to give a great research talk](https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/)
- [How to Make a Pecha Kucha - YouTube](https://www.youtube.com/watch?v=32WEzM3LFhw "How to Make a Pecha Kucha - YouTube")
- [Poster presentation advice and templates](https://www.pomona.edu/academics/departments/psychological-science/research-instructional-resources/presentations-conferences)
- [How to create a better research poster in less time](https://www.youtube.com/watch?v=1RwJbhkCA58)
College Concepts
===============================================================================
University/College/Institute/Academy/School
: In general these terms are used almost interchangeably. *Universities* are large institutions with many varied degree offerings; universities often comprise many *colleges* or *schools* (e.g., Michigan State University has colleges of engineering, education, etc., and the engineering college comprises many departments). *Colleges* are similar but often with a smaller variety of degree options. *Institutes* typically have a focus area (e.g., an institute of technology will have mostly confer science and engineering degrees). Most higher-ed (anything after high school) *academies* are synonymous with universities.
Divisions
: Pomona College is split into three academic divisions: Humanities (Division I), Natural Sciences (Division II), and Social Sciences (Division III).
Liberal Arts
: Academic areas including natural sciences, social sciences, arts, and humanities.
Liberal Arts College (LAC)
: A college with an emphasis on undergraduate study in the liberal arts. LAC students typically see a broader range of subjects (and less content in their degree area) than those at public universities.
PhD
: Most faculty members have *Doctorates of Philosophy* (abbreviated PhD). This does not mean that they have a doctorate **in** philosophy. It is just a title. For example, I have a Doctorate of Philosophy in Computer Science from a Computer Science department.
Assistant/Associate/Full/Visiting/Adjunct Professor, Lecturer, and Instructor
: Some of your teachers will have teaching, service, and research duties. These instructors are typically tenure-track or tenured faculty. You can expect them to be at the college for a long time (sometimes most or all of their career). These faculty start out as *assistant* professors and then move on to *associate* and finally *full* professors as they fulfill certain conditions. Some instructors will have similar duties but shorter-term appointments and will be given the titles visiting or adjunct professor. Finally, some of your teachers will have reduced research requirements and longer term appointments, and they often have titles like *lecturer* or *instructor*. You can safely refer to all assistant/associate/full/adjunct/visiting professors, lectures, and instructors as "Prof Surname."
Teacher vs Professor
: Teachers are trained experts in teaching, whereas your professors are trained experts in some field (for example, computer science).
Office Hours
: Your course instructors will always have office hours available. These are times that they expect students to come by and discuss course-related material.
Prerequisites
: Some courses require you to complete another course before you can register.
College Leadership (Board of Trustees, President, and Deans)
: https://www.pomona.edu/about/college-leadership
Semesters
: Most college classes are only one semester in duration. Unlike high school, when you come back after the winter break, you will be in a completely new set of classes.
Bachelor of Science (BS) or Bachelor of Arts (BA)
: BAs typically require fewer major-specific courses (and additional non-major requirements), but otherwise these two degree types are pretty similar.
Resources and Help
===============================================================================
I am absolutely not an expert on everything you'll need to know. But I can help point you in the correct direction.
## [Registration](https://www.pomona.edu/administration/registrar) and The Registrar
If you have any questions that aren’t covered here, please feel free to call the Registrar’s Office (909.621.8147) or
send us an email ([email protected]).
## [Wellness Programs](https://www.pomona.edu/students/wellness)
- Accessibility (e.g., TCCS SDRC, AIM)
- Mental Health (e.g., Monsour Counseling (MCAPS))
- Physical Health (e.g., SHIP)
- Spiritual Development
- Alcohol and Drug Use
- Sexual Misconduct, Stalking, Dating, and Domestic Violence
- [Health Education Outreach](http://www.cuc.claremont.edu/healtheducation/)
- [Student Health Services](http://www.cuc.claremont.edu/shs/)
## [Academic Resources](https://www.pomona.edu/academics/academic-support-resources)
- [Sage Fellows, Peer Academic Coaches](https://www.pomona.edu/administration/sage-fellows-peer-academic-coaches)
- [Foreign Language Resource Center](https://www.pomona.edu/administration/foreign-language-resource-center)
- [Quantitative Skills Center](https://www.pomona.edu/administration/quantitative-skills-center)
- [Writing Program & Writing Center](https://www.pomona.edu/administration/writing-center)
- [The Claremont Colleges Library](https://library.claremont.edu/)
## Handling Conflicts
- [Dean of Students](https://www.pomona.edu/administration/dean-of-students)
+ academic accommodations, [disability resources and services](https://www.pomona.edu/accessibility), off-campus, the rapists, [sexual assault and misconduct resources / Title IX](https://www.pomona.edu/students/sexual-assault), funding sources
- [Ombud's Office](https://www.pomona.edu/administration/ombuds-office)
- [Callisto (a third-party sexual assault recording and reporting system designed to support and empower survivors)](https://pomona.callistocampus.org/)
- [EmPOWER Center (the Violence Prevention and Advocacy Center of The Claremont Colleges)](https://www.7csupportandprevention.com/)
## [Career Development](https://www.pomona.edu/administration/career-development)
- Exploring Careers
- How-To Advice
- Job Search
- Fellowships
- Graduate School
## [Finances](https://www.pomona.edu/financial-aid) and Financial Aid
- Policies
- Student Employment
- Fellowships
## Technology Help
- [Pomona Knowledge Base](https://pomonacollege.atlassian.net/wiki/spaces/Wiki/overview)
- [Information and Tech Services (registering your computer, cellphone, etc.)](https://www.pomona.edu/administration/its/help/information-students)
- [Printing on campus](https://www.pomona.edu/administration/its/help/print-quota-and-printing-costs)
## Other Links
- [Prehealth](https://www.pomona.edu/administration/prehealth)
- [Pomona College Student Handbook](http://catalog.pomona.edu/index.php?catoid=26)
- [Administrative Offices and Services](https://www.pomona.edu/administration)
- [Department, Majors, and Minors](https://www.pomona.edu/academics)
- [Catalog, Courses, and Requirements](https://www.pomona.edu/administration/registrar/courses-requirements)
- [Math Flowchart](https://catalog.pomona.edu/preview_entity.php?catoid=37&ent_oid=2035)
- [Campus Dining Halls](http://www.pomona.edu/life-at-pomona/dining)
- [Associated Students of Pomona College (student government)](https://aspc.pomona.edu/)
- [Pomona-Pitzer Athletics](http://www.sagehens.com/landing/index)
- [Recreation Center (Rains Center)](http://www.sagehens.com/information/recreation)
- [Smith Campus Center](https://www.pomona.edu/administration/campus-center)
- [The Student Life (student newspaper)](http://tsl.news/)
- [Free Bus Access](http://foothilltransit.org/theclaremontcolleges)
- [Campus Safety](https://services.claremont.edu/campus-safety/)
- [Emergency Response (how to get up-to-date information regarding campus and local emergencies](https://www.pomona.edu/emergency)
- [Green Bikes (student-managed, free bike borrowing program)](https://www.pomona.edu/administration/sustainability/on-campus/transportation/green-bikes)
- [Ofo (bike sharing at the Claremont Colleges)](https://www.ofo.com/us/en/for-universities)
- [Housing & Residence Life](https://www.pomona.edu/administration/housing-residence-life)
- [International Place](http://iplace.claremont.edu/)
- [Meal Plan information / managing your meal plan / Claremont Cash](https://www.pomona.edu/administration/dining/meal-plans)
- [ID Card Office ](http://cards.cuc.claremont.edu/)
- [Outdoor Education Center](https://www.pomona.edu/administration/outdoor-education-center)
- [Housing Referral Service](https://blogs.cuc.claremont.edu/realestate/)
- [Asian American Resource Center](https://www.pomona.edu/administration/asian-american-resource-center)
- [Office of Black Student Affairs](http://www.cuc.claremont.edu/obsa/)
- [Chicano/Latino Student Affairs](http://www.cuc.claremont.edu/clsa/)
- [Queer Resource Center](http://colleges.claremont.edu/qrc)
- [Women’s Union](https://www.pomona.edu/students/student-organizations/womens-union)
Closing Remarks
===============================================================================
Your computer science degree is **not** about preparing you for all (or any really) possible pieces of technology that
you will see once you start your career after graduation. In fact, we expect you to have to do a lot of learning once
you leave us.
What we want to do is teach you how to learn new ideas, concepts, technologies, and languages.
If you think something is missing from this page please feel free to submit an
[issue](https://guides.github.com/features/issues/) or better yet a [pull
request](https://help.github.com/articles/about-pull-requests/) to [the
repository](https://github.com/anthonyjclark/advising/).
<script>window.markdeepOptions = { tocStyle: 'long' };</script>
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://morgan3d.github.io/markdeep/latest/markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>