Computer science spans a wide range, from its theoretical and algorithmic foundations to cutting-edge developments in robotics, graphics, intelligent systems and other exciting areas.
As an undergraduate student you'll learn how to:
- Design and implement software.
- Develop effective ways to solve computing problems.
- Devise new ways to use computers.
Should everyone learn how to program? Watch this video, where some famous people seem to think the answer is yes!
See below for more information on the distinctive features of Le Moyne's computer science program, why you should take computer science at a liberal arts college like Le Moyne, and the job outlook for students with a degree in computer science.

Distinctive features
Le Moyne's computer science (CS) major is distinctive in the following ways:
- The theory and practice of software design is emphasized throughout the curriculum.
- Students are given two semesters to complete a research/capstone project.
- A technology transition course is taken in the fourth year of study.
- Each CS major is required to minor in another discipline.
A traditional CS program will cover software engineering (SE) topics in one or two courses. These SE courses generally discuss planning, analysis, design and testing, and have the student develop a software application. In contrast, Le Moyne's CS program requires students to take two software design courses in their second year, covering this important topic in much more detail than would be possible in one or two SE courses. In addition, Le Moyne's CS program integrates the Personal Software Process (PSP) and the analysis of algorithms into all of its courses starting with the two design courses taken in the second year of study. These two important topics - learning to manage your software development process and learning to assess the performance of algorithms - are important topics that should not be covered in a vacuum. At Le Moyne, you'll better appreciate these two topics since they will be learned (and applied) while doing software design. If you are curious about what software design is all about, you may click on collaboration, data flow, entity relationship to view a sample design diagram or check out the Wikepedia page on software design.
A two-semester research/capstone course provides significant time for a student to complete a meaningful senior project. When a student chooses to do a research project, the student selects a topic to investigate in detail, reports on current research trends, and develops a prototype that demonstrates his or her knowledge of the topic. With the capstone project option, the student develops a large software application as a way to demonstrate his or her mastery of software design, programming and software testing. Most CS programs, if they have a capstone project course, do this as a one-semester course. So why did Le Moyne decide to make their research/capstone course a two-semester sequence? When we developed our CS curriculum, we researched other CS programs as well as the top-tier engineering programs in the Northeast U.S. What we found was that the majority of these engineering schools had a two-semester senior project course. The explanation provided by these engineering schools is that a meaningful senior project takes longer than 15 weeks (one semester) to develop. This reasoning also applies to software engineering projects.
Most academic computing environments use a subset of the tools that are used by organizations. The Technology Transition course at Le Moyne is designed to help the fourth-year CS student transition from our academic environment to the tools that are being used in the "real world." When we have students considering graduate school, this course will discuss topics that should ease the transition from an undergraduate program to a master's/doctoral program.
Requiring each student to minor in another discipline provides opportunities for each student to think about ways to apply computer science to another subject area. This leads to many inter-disciplinary opportunities during the research/capstone project. In addition, The New York Times (12/21/2009) reported on its front page of the Business Day section that "hybrid careers" combining "computing with other fields will increasingly be the new American jobs of the future, labor experts say."
Why take computer science at a liberal arts college?
Given the many choices a high school student has in colleges and universities, why take computer science at a liberal arts college? Why not go to a technology school? Here are a few answers to these questions.
The National Association of Colleges and Employers (NACE) do an annual survey of employers. Employers responding to this survey rate the importance of candidate qualities. The table below shows the top six qualities employers identified in 2003 and 2008:
| NACE Job Outlook 2003 | NACE Job Outlook 2008 |
1. Communication skills (verbal & written) 2. Honesty/integrity 3. Teamwork skills (works well with others) 4. Interpersonal skills (relates well to others) 5. Motivation/initiative 6. Strong work ethic | 1. Communication skills (verbal & written) 2. Strong work ethic 3. Teamwork skills (works well with others) 4. Initiative 5. Interpersonal skills (relates well to others) 6. Problem-solving skills |
While the list of the top six qualities has changed slightly over the years, many of the same qualities continue to be most important from an employer's perspective. Employers value college graduates who have good communication skills, a strong work ethic and work well independently and with others.
These survey results suggest that a well-rounded education should improve your job prospects upon graduation. At Le Moyne, each student is required to take the core curriculum. These core courses emphasize many of the qualities listed above. In comparison, a technical school will have significantly fewer liberal arts requirements, giving you fewer opportunities to improve upon these qualities.
Other reasons for taking CS at a liberal arts college include: - The stereotype of a programmer developing software in a cubicle by themselves is long gone. The complexity of modern software systems requires people with various expertise to work together on producing software.
- In a large and complex software development project, interactions between project team members is a significant factor in the success of the project. Having good communication and teamwork skills allows members of the project team to be more effective and efficient in their interactions with one other.
Job outlook
Every second year, the U.S. Bureau of Labor Statistics (BLS) provides a 10-year forecast of job growth in all fields of employment. Among the highlights:
- A report covering 2008-2018 may be found here (pdf). In this report: among all occupations in all fields of science and engineering, computer science occupations are projected to account for nearly 60 percent of all job growth between now and 2018.
- In the 2010-2020 Occupational Outlook Handbook, Software Developer jobs are expected to increase 30%.