PATHS THROUGH THE MAJOR
Below are various paths some of our students have taken through the major. We asked them to list the order in which they took their computer science classes, and also what classes outside the major they thought were good choices for the future. We also asked them about junior year abroad experiences, and whether they had taken 5-college courses.
This collection of paths is meant to show that there are many different ways to get a major in computer science, and what some of our students have done after graduation.
Veronica, '02

Veronica was an
Ada Comstock scholar and graduated in 2002 with 17 other students, one of our largest senior classes. She took Computational Geometry (CSC274),
Algorithms (CSC252), Parallel & Distributed Systems (CSC352), Advanced Programming Techniques (CSC220), Computer Graphics (CSC240),
worked on a Special Studies on Topics in Databases (CSC400), and toped it all with the Operating Systems course (CSC262).
Asked about which classes outside her major were important, she says "All of them were important.
Their combination yielded an in-depth knowledge of computing and software, which in my day to day job enables me to
quickly understand new technologies and integrate them into my work.
Everything stems from all of these courses, (Read more)
which are the foundation of the knowledge required. I know it sounds corny,
but it really is true in my case!"
Veronica didn't go on a Junior Year Abroad, and didn't take any classes outside of Smith.
About her current job, she says: "I was recently laid off from IBM (along with thousands of others) after an 11 year stint.
My background, knowledge, experience however, made sure I was unemployed for all of 2 weeks!
I am now working as a Software Developer for Arvato Systems North America,
a subsidiary of Bertelsmann, developing eCommerce applications.
Vicky, '02

Vicky graduated in 2002 and took the following Computer Science courses besides the core courses:
Algorithms (CSC252), Computer Networks (CSC350), Operating Systems (CSC262), the seminar in Parallel and Distributed Systems (CSC352),
and the Introduction to Aritificial Intelligence (CSC290). She complemented this selection with the following math courses:
Calculus II (MTH112), Discrete (MTH153), Linear Algebra (MTH211), and the introduction to Statistics (MTH245).
Vicky describes the classes she felt were important complements to her computer science major as follows: "I took
Animal Physiology
(BIO200) and Neurophysiology (BIO300) with Prof. Margaret Anderson. She used to require a "just in time email"
where you had to email her before lecture with a question about the reading for that week.
(Read more)
This was surprisingly good training for getting started doing research."
Vicky got her Ph.D. in Computer Science from the University of Massachusetts
in 2009, and went on to a Postdoc position at
Boston University from 2009-11. She is now doing research as a Network Scientist at
Raytheon BBN Technologies, in Cambridge, Massachusetts.
Christie, '03

Christie graduated in 2003 with a double major in French Language and Literature, and in Computer Science. She was back at Smith recently for her tenth reunion.
"I dug up my transcript" Chritie says: "I took the core courses, Calculus I (MTH111), Operating Systems (CSC262), Linear Algebra (MTH211), and the seminar on Computer Networks (CSC350). During my senior year I took Translators & compiler design (CSC394) and Circuits & Systems (CSC270)."
Christie spent her junior year at the Smith College center in Geneva (2001-02) and says "I took a year long
computer science course: Analysis of Natural Languages;
(Read more)
I remember writing a program in Prolog that would grammatically parse French sentences."
When asked if particular courses outside computer science have taken more importance for her after 10 years, she says "all of the classes outside my majors were useful--they helped make me a more well-rounded developer (and person)."
Chritie is now a Principal Software Engineer at RSA Security Analytics, a division of EMC. Christie joined RSA through their recent acquisition of Aveksa.
Amanda, '05

Amanda graduated in 2005, and recalls taking CSC 111, Data Structures, Advanced Programming Techniques,
Assembly, Computer Graphics, Foundations, O.S., Architecture, Computer Vision, and an Independent Study.
On the math side, LOG100 and MTH153. WHen asked what other classes, besides CS, Amanda found important for her to have taken: "I'm a big believer in the value of the liberal arts approach to education, so the cheesy answer to this is everything. I think it's really important to have a diverse background, as it allows for better collaboration and better software." Asked about why she picked CS as a major, Amanda shares this:
(Read more)
"I started as an Engineering major (with a scholarship) as part of the 2nd ever class, but wasn't enjoying it much. I took CS1 in the spring of my first year and realized I liked CS way more than Engineering, so I switched and never looked back! I had taught myself some programming on my TI-83 calculator in high school, as well as HTML and CSS, but hadn't taken any formal CS classes until Smith. I worked for Nick Howe the summer
before Junior year and over J-term Junior year, helping with his research. He helped me get an internship
at Cornell the summer before Senior year. Senior year I was one of the department student liaisons,
though I don't remember doing much besides ordering sweatshirts and going to some department meetings."
Amanda is currently a Software Architect at ClearCompany.
Tessa, '08

Tessa graduated in 2008, and, after a few carreer moves, is now working at the New York Times, in New York City.
Tessa took the core cources in CS: CSC111 was taught in C, then, and 112 in C++.
She also took Advanced Programming Techniques, CSC 240 (Computer Graphics), CSC 270 (Digital Circuits and Systems),
CSC 353 (Seminar in Robotics), CSC 364 (Computer Architecture),
CSC 400 (Special Studies in Machine Learning: Handwriting Analysis),
and for math, MTH 114 (Calculus: Effective Comp/Power Series), MTH 153 (Intro Discrete Math), and MTH 211 (Linear Algebra).
(Read more)
Tessa has this to say about the classes that made a difference: "I took ECO 150,
Intro Microeconomics, and ECO 153, Intro Macroeconomics, which are
incredibly helpful as I move
farther along in my career and strive to understand the business needs that drive software requirements
decisions. I also took ARS 162, Intro to Digital Media, which has helped me have an understanding
and appreciation for graphic design. Finally, my four years on Smith's Swimming and Diving team
taught me teamwork, hard work, and how to balance commitments. I didn't go abroad, but I did take a
gap year in Seattle, WA. I took a few computer science classes at the University of Washington, which
were a great supplement to my Smith classes. I took an algorithms class that was taught in Java - which
is coming in incredibly useful at the moment as I just started a new job that requires Java.
I also took a language and compilers class, where I was introduced to Scheme (Lisp), and had
to write a compiler from scratch. My understanding of Lisp came in incredibly handy for my
Seminar in Robotics course at Smith, in which we used Mathematica heavily."
Tessa just started a new position at The New York Times, in a Software Engineer position, on their CMS (Content Management System) team, which is responsible for building the software used by the newsroom
to write, edit, and publish articles.
Jordan, '08

Jordan graduated in 2008 with 12 other seniors. Jordan took the following courses: 111 in Python
CSC112 in Java, Networks, Microprocessors and Assembly, Foundations of CS, Advanced Programming techniques,
Operating Systems, Graphics, Seminar in Computer Vision, Computing and the Arts.
Jordan also took a good collection of Math courses: Calc I/II (MTH 114), Calc III, Discrete Math, Real Analysis, Number Theory,
Modern Algebra, Special Topics: Fourier Analysis, and topped it all with a Special Studies course on Point Set Topology.
When asked about classes that were particularly important, Jordan says "my
honors thesis in Math was one of my most influential
academic experiences. I worked with Prof. Ruth Haas on testing the limits of a recently proven result in game theory,
and through that process fell in love with research and decided to pursue my graduate degree."
About a possible junior year abroad, Jordan shares "I didn’t go abroad;
(Read more)
I stayed on campus to sing with my fantastic
a cappella group, the Vibes, and have never regretted that decision." On the subject of Umass courses, Jordan says "I didn’t
take a CS class there, but I did take a graduate course in Complex Analysis at UMass. What a different world!"
Jordan nows works at MIT Lincoln Laboratory as a member of the technical staff. "I spend my days doing what I love:
finding interesting problems, poking around to figure out what makes them tick, and seeing what kinds of new knowledge
we can build out of what we know so far."
Diana, '10

Diana graduated in 2010 with 9 other seniors.
"I skipped some courses and took: Microprocessors and Assembly language (CSC231),
Digital circuits & comp systems (CSC270), the Seminar in robotics (CSC353),
Operating Systems (CSC262), the seminar on topics in Computational Biology (CSC334),
Combinatorics and Graph Theory (CSC575U), Algorithms (CSC252),
the seminar on Parallel Programming (CSC352), and worked on an Honors Thesis with Prof.
Ileana Streinu (CSC430D). As far as Mathematics courses, I took Infinite Dimensional Linear Algebra (MTH221),
Introduction to Analysis (MTH243), Calculus III (MTH212), Introduction to Modern Algebra (MTH233),
(Read more)
Topics in Topology and Geometry (MTH342) , and the Advanced Topics in Cont. Applied Mathematics (MTH354)."
Classes that were important her job, Diana says "
Logic 100 is where I improved my writing skills,
especially how to write argumentative essays. This is useful when writing design docs or emails when you
need to convince others of your ideas. Also
Engineering 100 where the professor made as all
take
Mayers-Briggs personality test
and then she split us in teams according to the results. I learned that other people are different from me
and knowing the differences make for a better and more cohesive team.
Software engineering is more about people and teams than it is about computers.
However I think the most important experiences that helped me land the job were working as a
research assistant,
doing an
honors project and participating in
Google
Summer of Code program where I got to work on an open source project.
Diana did not go on a junior year abroad, stating "as an international student I was already abroad."
Diana took the Combinatorics and Graph Theory class at the University of Massachusetts (CSC575U). "It was the
hardest class I took while in college but I think it was well worth honing the patience of spending hours and
hours on completely abstract mathematical exercises. I think the experience is quite similar to spending hours
and hours on debugging code."
Diana is currently a Software Engineer at Google. Diana shares "I work in a team that migrated all of AdWords backend system
from using MySQL to a completely new globally distributed database build at Google called F1.
I work with incredibly smart people, write software that can deal with huge amounts of data and I have lots of
fun both at and outside of work."
Finally, Diana has some recommendations: "I think everybody should take intro to programming class as computers
and smartphones are becoming more and more ubiquitous. If you like it, continue with a Computer Science degree.
Working as a software engineer is a lot of fun. I feel like an inventor all the time. Can you imagine that you
can create applications that other people can interact with just using your brain and a laptop. And salaries in
the tech industry are good as well, enough for that fancy dress, serious hobbies or traveling around the world!"
Lei, '10

Lei graduated in 2010 with a double major in Mathematics and Computer Science. She took in sequence How the Internet Works (CSC102), the core courses, Algorithms (CSC252), Programming Techniques for the Interactive Arts (CSC260), Circuits and Systems (CSC270), Computational Biology (CSC334), and did an independent study with Joe O'Rourke (CSC400). Her math classes include Calculus I (MTH111), Discrete (MTH153), Calculus II (MTH112), Linear Algebra (MTH211), Calculus III (MTH212), Number Theory (MTH238), Probability (MTH245), Combinatorics (MTH254), Analysis (MTH243), and Topology (MTH342).
When asked which classes were important and have made an impact on her current work,
(Read more)
Lei says: "
English literature classes.
Effective writing and presentation skills are great to have for any job.
Also
Exercise and Sports Study (ESS) classes (thanks to my advisor!).
I built up a good habit of exercising regularly in Smith,
and has lead to a healthy lifestyle after school, which in turn makes you work better."
Lei didn't go on JYA although she would have if she did not accelerate a semester, and also wishes she had had more time to take classes in the 5-college system.
Asked about her current job, Lei says "I work as a Software Engineer at
Facebook, in Menlo Park, California. At Facebook, I've worked on the Platform team, and recently transitioned to the iOS News Feed team. Before that, I worked as an Engineer on the Developer Relations team at
Apple in Cupertino for a year and a half. "
She adds "Industry internships were the most helpful in both landing a job, and a smooth start in one. Side projects will also build up your coding hours. If you have time, try building your own iPhone/Android app. Programming takes a lot of practice and perseverance, but getting things to work and shipping products is probably one of the most rewarding things too."
Elizabeth, '11

Elizabeth graduated in 2011 with a double major in Mathematics and Computer Science,
and took the following courses in addtion to the four core courses: Programming Techniques for the Interactive Arts (CSC260),
Graphics (CSC240), Advanced Programming Techniques (CSC220), the seminar on Robotics (CSC353), Circuits and Systems (CSC270), and caped it all with an Honors Thesis (CSC430). Elizabeth took more math courses than the average students, with Discrete (MTH153), Statistics (MTH245), Calc III (MTH212), Linear Algebra (MTH211), Topics in Number Theory (MTH238), Probability (MTH246), and Topics in Mathematical Analysis (MTH343).
(Read more)
Elizabeth went on a junior semester abroad to Brighton, UK, at the University of Sussex.
"I took the following classes: Analysis,
Software Engineering, Introduction to Logic Programming, and Introduction to Electronic Music, which was more
history of electronic music rather than actually creating music."
Elizabeth got her Master's in Computer Science from the University of Massachusetts in 2013 with a Bay State Fellowship which she urges students to learn about (more information available here).. She is now working as a
Senior Business Systems Consultant at Putnam Investments, in Boston, MA.
Kate, '11

Kate graduated in 2011. Kate says "I took all the core courses, along with CSC105 (Web Design), Graphics (CSC240), Advanced Programming Techniques (CSC220), and the Digital Music seminar (CSC354).
Sports Economics ECO 231) was the class that really made me want to work for ESPN. I was always interested in economics and that helped me step back from CS and focus on other things, which was valuable when I was stuck on an assignment. I think that it was good having a major/minor not directly related to CS for that reason.
I didn't go on a junior year abroad because there were secific classes
(Read more)
I wanted to take with specific professors."
Kate is now an Associate Technical Producer at ESPN.
Millicent, '11

Millie graduated in 2011, and writes that she took the core classes, but took the equivalent of the assembly language class at the University of Minnesota, Advanced Programming Techniques (CS220), Programming Techniques for the Interactive Arts (CS260), Graphics (CS240), Circuits and Systems (CS270), and the Digital Music seminar (CS354). She also took several math courses, including Computation and Power Series (MTH114), Discrete (MTH153), and Linear Algebra (MTH211).
When asked about courses outside the major, she says "Nothing comes to mind as something that directly relates to my current job.
I would say that generally, all my course work contributed to making me a more critical thinker and a well rounded person
(Read more)
with a diverse skill set.
I believe that my diverse experiences gave my employer confidence that I would excel at my job, even though I had not had a lot of similar work experience. I took many classes outside CS that I loved and would recommend to anyone! For example, many studio art classes including:
Painting,
Drawing,
Digital Media and Art and Technology (which is a cross-listed course.) I also took
Spanish,
which allowed me to travel abroad during my Junior year. I also dabble in
History,
Art History,
Dance and
English and was a member of the Smith College Orchestra."
Asked about whether she went on a junior year abroad, Millie says "YES!! I spent a semester in Barcelona.
I took some Computer Science classes there including a Computer Graphics class and a Web Programming class.
Don't be afraid to to take classes outside the Computer Science department! My biggest regret is that I didn't
take a Spanish History class! Do something really different!! My study of Spanish at Smith and my study abroad experience
inspired me to move back to Spain after I graduated from Smith and taught English in public schools for a year.
This additional year in Spain was an incredible experience and period of growth for me."
Millie didn't take classes in the 5-college consortium, but says that she took several summer classes at the University of Minnesota,
which "really gives you an idea of where the majority of the people working in the industry are coming from. It also allows you to
see what the normal gender balance is in the industry."
Millie is currently a Java Developer at Code42 Software in Minneapolis, MN. "Our product is called
CrashPlan, which is a cloud back up and restore product. We are working on new product as well and it is really exciting to be
part of this growth. I am happily learning more about my home state/town and getting used to have a real job".
Aigerim, '12

Aigerim graduated in 2012, and says "[she] took all the core CS requirements, along with some math courses (MTH114, MTH211, and MTH153),
Programming Techniques for the Interactive Arts (CSC260), Advanced Programming Techniques (CSC220),
CSC311 (Intro to Algorithms at UMass), CSC 320 (Intro to Software Engineering, also at UMass), and worked on two special studies, one on geo-tracking cell phones, and one on molecular modeling."
She continues: "As far as classes I am glad I also took at Smith are Logic 100 - it taught me logical argument formation and writing, which came very important for having proper communication skills, both written and verbal, as well
(Read more)
as the
Economics of Future Technology seminar (ECO 364) taught
by James Miller - this class gave me a bigger picture on where technology was going, and what tech developments I should pay attention to, to be able to stay relevant and up-to-date in my career field in the long run. I learned about a lot of cutting-edge research in neuroscience, biology, robotics, computer science, and dabbled into psychology and morality. My tech knowledge helped me a lot in crafting my final paper on how the changes in technology affect personal interactions through social networking, and how privacy concerns can drive tech progress."
"About the classes I took at Umass, I highly recommend both. CSC311 came useful when I studied for interviews. CSC320 gave me an idea of how software is built in the real world, which turned out to be quite accurate."
Aigerim is now a software engineer in a team of 9 at Oracle Corporation, Redwood Shores headquarters. She and her team are working on a browser app for customer relationship management, and uses Java and Javascript for a day-to-day programming.
Tiffany, '12

Tiffany double majored in Computer Science and Engineering. She took the following classes for her CS major: Intro to Computing and the Arts (CSC106), the four core courses, Introduction to Logic (LOG100), Discrete Math (MTH153), Calc III (MTH212). Discrete and Computational Geometry (CSC274), Circuits (CSC270), and a special study on FPGA and VHDL, and the seminar in robotics (CSC353).
When asked what other classes she thinks were great addition to her major she lists her Honors Thesis (CSC430),
Math Methods of Physical Science & Engineering I (PHY210), Probability and Statistics for Engineers (MTH 241),
Signals and Systems (EGR320), Techniques for Modeling Engineering Processes (EGR389), Dynamic Systems and Intro to Control Theory (EGR326),
and the
(Read more)
Design Clinic class (EGR410D).
"I also recommend taking some form of statistics course if the student has interest in pursuing a career in the field of AI. And I'm using the term AI as we do here in UMass, which includes Machine Learning, Robotics, etc."
Tiffany is currently a graduate student research assistant working with Dr. Rod Grupen in the
Laboratory for Perceptual Robotics, School of Computer Science at the University of Massachuestts at Amherst.
Kristina, '13

Kristina graduated in 2013 and double-majored in computer science and astronomy. She took Computer Science 1 (CSC111), Computer Graphics (CSC240), How Computers Work (CSC103), How the Internet Works (CSC102), Programming with Data Structures (CSC212), Hands-On Introduction to Unix (CSC197U at Umass), Micro and Assembly Language (CSC231), Computer Networks (CSC249), Modeling in the Sciences (CSC205), Foundations (CSC250, and the seminar Digital Sound and Music Processing (CSC354). She also worked on two independent studies, Advanced Programming the iPhone, and Using Kinect in Java Applications. On the math side, Kristina took Calc 1
(Read more)
and 2 (MTH111-112), Discrete Math (MTH153), Linear Algebra (MTH211), and Probability and Statistics (MTH241).
About classes outside the major that were important for her current job, Kristina says "my second major
in Astronomy certainly made a good combination with my CS major, and although my career path is taking me
more into computer science, Astronomy will always remain one of my interests. Ideally I will be able to find things
to work on in the intersection of two fields." She also adds "all math and physics courses also were definitely
useful. I wish I had time to take more of them!"
About her Junior-Year Abroad experience, Kristina says "I went to the University of Sussex in Brighton, UK, for a junior spring
semester abroad. There I took Software Engineering, Programming for 3D, Robot Lab, Language Engineering
(Natural Language Processing), and Acquired Intelligence and Adaptive Behaviour (Genetic Programming/Machine Learning).
I also had an interesting experience of often being the only girl in the class!
About classes at Umass, Kristina took a short Pass/Fail course called Hands-On Intro to Unix, and says "I wish I had taken a couple more CS classes at UMass, but it is always tricky to plan taking classes off-campus. Now that I am going to UMass for grad school, I'll have another chance."
Kristina is a Data Process Developer at the Gemini Observatory in Hilo, HI, for the the academic year 2013-14. The majority of her responsibilities has to do with testing data processing software being developed in the observatory, and most of the work is in Python. Kristina will start as a graduate student in CS at Umass the fall of 2014.
If you would like to be included in this page, please do not hesitate and send an email
to Dominique Thiebaut.