Le Moyne Computer Science Major starts in Fall 2008!

This document contains the following information.

  1. A little history of CS at Le Moyne
  2. The new CS major at Le Moyne:
    1. 2.1 Distinctive features of CS program
      2.2 Curriculum overview
      2.3 CS major requirements
      2.4 CS course descriptions
  3. What are the job prospects for CS majors?
  4. What can I do with a BA in CS?
  5. Why take CS at a liberal arts college?
  6. Bachelor of Arts in CS plus Masters in CS or computer engineering
  7. What do computer scientists do?
  8. Why wait till fall 2008 to start this new major?

1. A little history of CS at Le Moyne

As you may know, Le Moyne College had a computer science (CS) major in the late 1970's through 1994. The CS major was terminated in 1994 due to a sharp nationwide decline in CS enrollments, a sense that enrollment was not going to improve, and two of the three full-time CS faculty were approaching retirement.

Like many CS programs that started in the mid 1970's, Le Moyne's CS major was developed by faculty that had an interest in computing and whose Ph.D. was in mathematics. This resulted in curricula that emphasized theory instead of balancing theory and practice.

2. The new CS major at Le Moyne

This program is based on the latest curriculum guidelines for computer science, which were published in 2001 by the Joint (IEEE Computer Society and Association for Computing Machinery) Task Force of Computing Curricula. Here is the final report of this task force.

2.1 Distinctive features of CS program

Le Moyne's CS major is distinctive in the following ways.

  1. The theory and practice of software design is emphasized throughout the curriculum. Instead of covering some traditional CS topics in separate courses, these topics are integrated into a coherent theme that permeates the curriculum.
  2. Each CS major is required to minor in another discipline. This gives each student an opportunity to apply computer science to another discipline/domain.
  3. Students' are given two semesters to complete a research/capstone project. This provides significant time for a student to investigate their chosen topic.
  4. A technology transition course is taken in the fourth year of study. This course will help students prepare for their professional career (whether the student goes to graduate school or begins working in industry).

2.2 Curriculum overview

The curriculum is designed with software design theory and practice as the foundation of the program. This subject area includes software architecture and design, program design, algorithm analysis, and software metrics. Second, each computer science major shall be required to minor in another discipline. This provides opportunities for each CS major to apply their CS theory and practice to an application domain. Finally, software engineering principles will be applied on a range of project sizes, giving students an opportunity to experience software engineering from an individual and team perspective.

2.2.1 CS mission and goals

The mission of the computer science major program is to prepare students for a career in a computing technology related field, with emphasis on becoming a life-long learner with regard to both personal and professional aspirations.

Le Moyne College expects its computer science graduates to:

2.2.2 CS program principles

The CS curriculum has been designed based on the following principles:

2.3 CS major requirements

A student must successfully complete the following courses to earn a major in computer science.

Major Course Credit Hours Course Offered Prerequisite
SemesterFrequency
CSC 171 Introduction to Algorithms and Program Development 4 Fall Yearly None
CSC 172 Introduction to Algorithm Analysis and Data Structures 4 Spring Yearly CSC 171 or
CSC 252/MIS 385 or
CSC 253/MIS 325
CSC 271 Structured Software Design 3 Fall Yearly CSC 172
CSC 272 Object-oriented Software Design 3 Spring Yearly CSC 172
CSC 345 Hardware Computing Environments 3 Fall Biyearly CSC 271 and 272
CSC 346 Software Operating Environments 3 Spring Biyearly CSC 271 and 272
CSC 445 TBD 3 Fall Biyearly CSC 271 and 272
CSC 446 TBD 3 Spring Biyearly CSC 271 and 272
CSC 395/6 Start Research/Capstone Project 3 Spring Yearly 3rd year CS major
CSC 495/6 Senior Research/Capstone Project 3 Fall Yearly 4th year CS major
CSC 475 Technology Transitions 3 Spring Yearly 4th year CS major

As long as the combined enrollment of 3rd and 4th year CS majors is 30 or less, junior and senior CS majors will be combined into the four courses that are offered biyearly (once every two years). When the 3rd and 4th year CS majors exceed 30 students, the four biyearly courses listed above will be taught yearly.

The content of the 445 and 446 courses are to be determined. Computer science topics that are candidates for these two courses include graphics and visual computing, human-computer interaction, information management, intelligent systems, net-centric computing, and programming languages.

The 475 course will be taken by every CS major in the spring term of their fourth year. This course will provide each student with an opportunity to learn and experience technologies not discussed as part of the major. The focus of this course will be technologies relevant to the students' immediate plans after graduation, whether this is employment or graduate school.

Initially, the two-semester research/capstone project courses (395/6 and 495/6) start in the 3rd year spring semester and conclude in the 4th year fall semester. After these project courses have been taught and assessed a few times, it is possible that these courses may be moved to the fall and spring semesters of the 4th year.

2.3.1 CS major support requirements

A student must successfully complete the following to earn a major in computer science.

Support Course or Subject Area Credit Hours
MTH 145 Calculus I4
MTH 131 Discrete Mathematics3
Foreign Language (intermediate or advanced level recommended)6
Minor in another program15-21

The reason for requiring a CS major to minor in another program is that studies have shown that computer science graduates are more competitive in the job market when they have a significant domain of knowledge outside of computer science. This will benefit CS majors whether they decide to work in industry or go to graduate school. For example, students going to graduate school for computer science will be advised to minor in mathematics.

2.4 CS course descriptions

Course Description
CSC 171 Introduction to Algorithms and Program Development This course deals with the general topic of problem solving, algorithm development, and program development. Using the C++ programming language, students will develop small imperative algorithms/programs to reinforce their understanding of the following concepts: scalar data types; control structures; subroutines; objects and classes; file input/output; arrays; strings; vectors; pointers; program design strategies; and testing techniques. (Offered each fall.)
CSC 172 Introduction to Algorithm Analysis and Data Structures This course continues the study of algorithm and program development introduced in CSC 171. Concepts and implementations of object-oriented programming, and linear (e.g., list, stack, queue) and nonlinear (e.g., tree, set, map) data structures are studied using C++ and Java programming languages. Analysis of algorithms is introduced using various sort algorithms and recursion is studied through algorithm analysis and implementation. Students will develop small and medium-sized algorithms/programs to further their understanding of imperative and object-oriented programming. Prerequisite: CSC-171 or CSC-252/MIS-385 or CSC-253/MIS-325. (Offered each spring.)
CSC 271 Structured Software Design After a brief review of concepts covered in CSC 171 and CSC 172, this course presents structured software design topics. Design strategies (e.g., refinement) and concepts (e.g., information hiding) are discussed in the context of a software design model that contains four elements - data, component, interface, and architecture. Different structured software design techniques (e.g., data flow diagram), software design metrics (e.g., cohesion), and software quality assurance techniques (e.g., inspection) are discussed and applied to software designs. Each student will produce small and medium-sized design models and will work in a small team to produce one medium-sized design model and a prototype implementation. Prerequisite: CSC-172. (Offered each fall.)
CSC 272 Object-oriented Software Design This course deals with the general topic of object-oriented software design. Design strategies (e.g., compositional) and concepts (e.g., functional independence) are discussed in the context of a software design model that contains four elements - data, component, interface, and architecture. Different object-oriented software design techniques (e.g., UML), software design metrics (e.g., coupling), and software quality assurance techniques (e.g., review) are discussed and applied to software designs. Each student will produce small and medium-sized design models and will work in a small team to produce one medium-sized design model and a prototype implementation. Prerequisite: CSC-172. (Offered each spring.)
CSC 345 Hardware Computing Environments This course covers hardware architecture and low-level programming topics. Topics are presented in timeline sequence, with emphasis placed on understanding the performance improvements seen in each generation of hardware innovation. A significant portion of this course is a semester-long project where the student designs and constructs a software simulation of selected hardware components. Students will produce medium-sized design models and will fully implement at least one medium-sized design model. Prerequisites: CSC-271 and CSC-272. (Offered every other fall semester.)
CSC 346 Software Operating Environments This course covers operating system principles and design, and focuses on process management, memory management, and device and file management. Performance considerations, including both resource usage and speed, are emphasized. A significant portion of this course is a semester-long project where the student designs and constructs components of a virtual machine to reinforce the core operating system concepts. Students will produce medium-sized design models and will fully implement at least one medium-sized design model. Prerequisite: CSC-345. (Offered every other spring.)
CSC 395 Start Research Project This course, exclusively for junior computer science majors, involves starting a research project in a computer science topic of interest to the student. Prior to registration for the course, a student must submit a proposal and have it approved by a computer science faculty member. During this course, the student focuses on researching the topic, producing an outline, and optionally designing a prototype that, when implemented, illustrates an application of the topic. (Offered each spring.)
CSC 396 Start Capstone Project This course, exclusively for junior computer science majors, involves starting a software development project in an application domain of interest to the student. The student should strongly consider topics within their minor field of study. Prior to registration for the course, a student must submit a proposal and have it approved by a computer science faculty member. During this course, the student focuses on producing artifacts related to the analysis and design of their chosen application domain. (Offered each spring.)
CSC 445 & 446 TBD These courses will integrate topics from the following subject areas: graphics and visual computing, human-computer interaction, information management, intelligent systems, net-centric computing, and programming languages. When these courses are designed, every effort will be made to cover as many core topics as possible while maintaining a pedagogical flow within the course. Prerequisites: CSC 271 and CSC 272. (445: Offered every other fall. 446: Offered every other spring.)
CSC 475 Technology Transitions This course, exclusively for senior computer science majors, involves the study of computer science topics and technologies not covered within the curriculum but relevant to their immediate plans after graduation. Topics and technologies will be chosen for study based on trends observed within graduate schools and job markets. (Offered each spring.)
CSC 495 Senior Research Project This course, exclusively for senior computer science majors, involves the completion and presentation of a research project in a computer science topic of interest to the student. This course continues the students' research work started in CSC 395. A paper, presentation materials, and optionally a prototype implementation result from the successful completion of this course. (Offered each fall.)
CSC 496 Senior Capstone Project This course, exclusively for senior computer science majors, involves the completion and presentation of a software development project in an application domain of interest to the student. This course continues the students' work started in CSC 396. Analysis and design artifacts, presentation materials, and a prototype implementation result from the successful completion of this course. (Offered each fall.)

3. What are the job prospects for CS majors?

3.1 Job outlook is very good

The 2006-2007 edition of the Occupational Outlook Handbook tracks five job occupations related to computing. Two of these occupations are typically associated with people that have a bachelor's degree in computer science - Computer Software Engineer and Computer Systems Analyst. The Computer Software Engineer occupation is projected to be one of the fastest growing over 2004-2014, while the Computer Systems Analyst occupation is expected to increase much faster than the average. A third occupation, Computer Programmer, is expected to grow much more slowly than the other computer specialists. However, job prospects are best for individuals with a bachelor's degree and knowledge of a variety of programming languages and tools.

The U.S. Bureau of Labor Statistics reports the projected percent change in employment for science and engineering workers between 2004 and 2014. Computer software engineers (applications) ranks second at 48% and computer software engineers (systems software) ranks third at 42%. In addition, the top five job categories all require computing expertise.

In a Career Advancement Management Facts and Trends report on the hot careers for the next 10 years, seven of the top twenty jobs call for computer expertise. According to Scot Milland, CEO of Dice.com (a leading job board in the field), their 2005 job listings increased 90% over a year ago.

Other sources of information on the job outlook for information technology professionals is provided by:

3.2 Skilled labor shortage

Statistics from the National Science Foundation in a 2000 report to Congress show the ratio of science and engineering degrees per 100 24-year-olds. As of 2000, the U.S. had the lowest ratio of twelve industrial nations at 5.7 graduates per 100.

The dot-com boom of the late 1990's, followed by the dot-com bust in 2000, received a lot of attention from the national media. This had the affect of scaring high school seniors away from considering computer science as a major. The chart found here clearly shows the effect the dot-com bust had on the pipeline of CS graduates looking for entry-level positions. So even though the IT job market has either stayed relatively flat (2000-2003) or experienced an increase in demand (2004-present), the number of qualified job applicants has shrunk.

3.3 Summary

Supply of graduates with computing expertise is low. Job demand for skilled computing workers is high. You do the math.

4. What can I do with a BA in CS?

Typical titles associated with entry-level jobs include:

Since information technology is used in practically every industry, there is tremendous flexibility regarding how you choose to apply your skills. For example, you could choose to work in the:

5. Why take CS at a liberal arts college?

Or asked another way, why major in CS at Le Moyne when I could go to [fill-in a city or state name] Institute of Technology?

NACE is the National Association of Colleges and Employers. Each year NACE does a survey of employers. Employers responding to NACE's Job Outlook 2003 rated the importance of candidate qualities. In 2003, the top six qualities were:

  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

The jobweb site contains career development and job-search information for college students and new college graduates, and is owned by NACE. This page summarizes the Job Outlook 2007 results on the importance of candidate qualities. In 2007, the top six qualities were:

  1. Communication skills (verbal & written)
  2. Honesty/integrity
  3. Interpersonal skills (relates well to others)
  4. Motivation/initiative
  5. Strong work ethic
  6. Teamwork skills (works well with others)

While the order of the top six qualities have changed sligthly over the years, the same six qualities continue to be most important from an employers perspective.

Given these survey results, one can conclude 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 six qualities listed above. In comparison, a technical school will have significantly fewer liberal arts requirements, giving you fewer opportunities to improve on these six qualities.

Other perspectives on the top six qualities include:

6. Bachelor of Arts in CS plus Masters in CS or computer engineering

Le Moyne College (LMC) is finalizing an agreement with the LC Smith College of Engineering and Computer Science (LCS) at Syracuse University. This agreement will allow Le Moyne students to earn a bachelors degree from LMC and a masters degree from LCS. For LMC computer science majors, you would earn a BA in CS and an MS in either computer science or computer engineering. As of September, 2007, the draft agreement states:

While many liberal arts colleges have agreements with engineering schools, those agreements, typically called 3+2 programs, allows a student to earn two bachelors - one from the liberal arts college and one from the engineering school. Another advantage this program has over traditional 3+2 programs is that the student, while at LMC during their first four years, pays LMC tuition even though they may be taking undergraduate engineering courses at LCS.

As of September 2007, the draft agreement is still being reviewed by LMC and LCS. However, all indications are that this program will start in fall 2008.

7. What do computer scientists do?

Computer scientists solve problems and design systems by understanding and applying human knowledge and behavior. Computers, while they are fast and usually accurate, are designed to emulate human capabilities. A simple example of this is that humans do not know how to divide a number by zero - the result of dividing a number by zero is undefined. Thus, computers are designed to raise an exception when an attempt is made to divide a number by zero.

Computational thinking is a new term created by Jeannette M. Wing in her 2006 article published in Communications of the ACM, Volume 49, Issue 3. This 3-page article offers many insights into what computer science is all about. One intriguing statement from the article - to reading, writing, and arithmetic, we should add computational thinking to every child's analytical ability - offers a challenge to our K-12 education community to emphasize computational thinking as much as we emphasize the "three R's". This article describes computational thinking, and thus computer science, as having the following characteristics:

8. Why wait till fall 2008 to start this new major?

The original plan was to start the CS major in fall 2008. This affords the college a year of planning and marketing. A significant part of the planning in the 2007-08 academic year is the development of new CS courses, specifically the two 2nd year software design courses. Overall, 11 of the 13 CS major courses are new - they will have to be developed from scratch prior to the first time they are taught. Given the large amount of course development work needed, the college felt it was best to keep to our original plan, giving us the time we need to start up the program the right way.

8.1 Course Schedule Roll-out

While the major will start in fall 2008, not all courses will be taught starting in fall 2008. Instead, courses will be offered for the first time based on the 2008-09 freshmen cohort. The following table explains the roll-out schedule.

CoursesYear 1
2008-09
Year 2
2009-10
Year 3
2010-11
Year 4
2011-12
Year 5
2012-13
Year 6
2013-14
171, 172XXXXXX
271, 272 XXXXX
345, 346  X X 
395, 396  XXXX
445, 456   X X
475   XXX
495, 496   XXX

8.2 I'm a first year student in fall 2007 and I want to major in CS. What are my options?

Given the roll-out of new CS courses described above, it is not possible for a fall 2007 first year student to complete a CS major in four years.

Thus, you basically have two options:

  1. Stay at Le Moyne and major in something other than CS
  2. If you decide to stay at Le Moyne, here are a few alternatives for you to consider:

    1. Major in math and take as many of the new CS courses as possible.
    2. With this option, you'd be able to take at least six CS course (171, 172, 271, 272, 371, 372). Employers that hire CS majors look favorably on math majors, given the abstract nature of the upper-division math courses. The six CS courses would provide you with a good foundation in computing technology.

    3. Major in information systems and minor in either math or CS.
    4. Le Moyne's information systems program, within the business department, may be of interest to you. Please talk to Dr. Martha Grabowski to find out more about the IS program.

  3. Transfer to another school to major in CS
  4. The CS faculty at Le Moyne are willing to assist you in assessing various CS programs at other colleges, if you decide to transfer.

Last updated on September 27, 2007.