Oct 18, 2019  
2018-2019 Undergraduate Catalog 
2018-2019 Undergraduate Catalog [ARCHIVED CATALOG]

Computer Science

Return to {$returnto_text} Return to: Academic Departments Information

View Programs and Courses  



Professor Bo Jin Hatfield, Chairperson

Professor: Mikhail S. Brikman

Associate Professors: Joseph S. Kasprzyk, Beifang Yi

Assistant Professors: Komalpreet Kaur, Sotirios Kentros, Lakshmidevi Sreeramareddy, Manish Wadhwa

Faculty Emeriti

Professors: Robert Campbell, Edward J. Wilkens
Associate Professor: Gregg Whyte
Assistant Professors: Sheila D. Shea

Programs Offered

Bachelor of Science - Computer Science 

Bachelor of Science, Information Technology  


Option Sequences (all sequences consist of two courses)

Computation Theory
Computer Graphics and Visualization
Cyber Physical Systems
Networking and Cloud Computing
Distributed and Cloud Computing
Software Engineering


Computer Science Minor  
Information Technology Minor  

Programs in the Computer Science Department

The Computer Science Department offers a well-integrated curriculum for its Computer Science major and Computer Science minor, Information Technology minor, and a diverse offering of Information Technology service courses. With well-credentialed faculty, the department strives for excellence in providing students with a strong foundation in computer science and information technology concepts, processes, and tools. The department engages students in developing the analytical, design, technical, and communication skills necessary to be successful in computing fields or in graduate school.

Computer Science Major

Computer science is simultaneously one of the most pragmatic disciplines and one of the most conceptual.

It must be pragmatic because of the rapid pace of technological change. Not only computer professionals but also virtually everyone who is a more than casual user of computers is continually confronted with new tools to be learned and skills to be mastered. Members of the technical cadre that produce all this technology for us are not exempt: they also must learn ever more rapidly evolving methodologies if they are to continue to contribute to the progress of the field. These societal and professional growth needs require that a computer science curriculum undergo continual review and evolution. Its graduates must be suitably equipped to “hit the ground running” - to begin performing productive work without extensive additional training. Therefore, appropriate courses should include treatment of up-to-date and in-demand operating systems, languages, paradigms, tools and applications - the pragmatic features of the discipline.

On the other hand, the education provided must be conceptual because any specific instance of pragmatic content may and probably will have a relatively short useful life. Keeping up with the latest new tools and methods is done most effectively when the conceptual component of the undergraduate education has provided a strong base. New developments may then be understood not as isolated phenomena but as additions or changes within an already well-established broader framework. The efforts and costs involved in acquiring new skills are lessened if the basic education has provided a sufficiently conceptual understanding of the field.

In order to achieve pragmatism and conceptuality simultaneously, computer science courses at Salem State University have been designed around fundamental ideas and application areas in the field (as indicated in the course titles). Concepts are presented through the medium of real, current examples, reviewed and updated frequently, in order to include the strong pragmatic flavor desired. The required Computer Science capstone course sequence integrates pragmatism and conceptuality via a custom-designed project proposal and implementation experience designed to address the interests and objectives of each individual student.

The Computer Science major is accredited by ABET, Inc. (http://www.abet.org ), which is the recognized accreditor for college and university programs in applied science, computing, engineering, and technology.   Among the most respected accreditation organizations in the U.S., ABET has provided leadership and quality assurance in higher education for over 75 years. Through lectures and extensive laboratory experiences, Computer Science majors learn about current computing environments and programming languages, a systematic methodology of software design and implementation, and the theoretical foundations of computer science. A wide variety of current and state-of-the-art platforms, applications and tools are utilized in the major. By choosing an Option Sequence and appropriate upper-division electives, students can specialize in a particular area such as computation theory, artificial intelligence, computer networking, embedded systems, object-oriented programming, parallel computing, cloud computing, or software engineering.

In addition to preparing students for careers in a variety of computing fields, the Computer Science major curriculum also provides a foundation for further study at the graduate level. The Computer Science major consists of fourteen computer science (CSC-prefixed) courses, together with five support courses in Mathematics, one in Physics, and three Science courses chosen from specified lists. (See the Computer Science major flow sheet.)

Although the Computer Science major does not require the completion of a minor, students in the program are urged to consider using some of their electives to assemble a minor in an area of personal interest that integrates and/or applies computing methods and/or technologies. A minor in Mathematics is particularly convenient since many of the Mathematics support courses required within the Computer Science major can be used as part of this minor. Other possibilities include Business Administration or one of the sciences. (Before embarking upon a minor, the student should confer with the chairperson of the appropriate department to determine the proper selection of courses.) 

GPA Requirements for Graduating in the Computer Science Major

In order to graduate from the Computer Science degree program, at the time of graduation a student must have a cumulative grade-point average of 2.7 (B-) or higher in Computer Science major courses (courses with a CSC prefix) and 2.3 (C+) or higher in the support courses. Exceptional circumstances will be handled on an individual basis.

Residency Requirement for the Computer Science Major

A student majoring in Computer Science must complete:

(A) at least 18 CSC-prefixed credits at Salem State University used to satisfy Computer Science major requirements, at least 10 of which must be 300 or 400 level courses, and
(B) the Computer Science capstone sequence (CSC520  and CSC521 ) at Salem State University.

Computer Science Minor

Computers and particularly application software play an important role in almost any major and any career choice. The primary goal of the Computer Science Minor is to provide an introduction to computing topics that can be used by students in all majors to supplement their primary studies. This minor allows students to develop understanding and skills in the following areas:

•    fundamental concepts of  computer science including systems, algorithms, programming
     languages, application software and networking;
•    programming skills including sound design methodologies, a programming language and its 
     major  constructs, and testing and performance evaluation;
•    additional computing topics chosen to complement individual interests and/or specific disciplinary
     software that may give students a major edge in future employment - choices include web-based
     software development, embedded systems, databases, networking, software engineering, and
     data visualization.

The Computer Science Minor is appropriate for students who anticipate that computer knowledge and skills will play a prominent role in their academic and professional careers. For additional information go to the Computer Science Minor  page.

Information Technology Minor

For students majoring in other academic disciplines, the flexible design of the information technology (IT) minor can complement any student’s major field of study. The array of courses in specialized IT knowledge areas help students develop and expand their IT concepts, gain a broader perspective on the impact of IT on society, and increase or enhance IT proficiency skills. Students with an IT minor are often the technical “go-to person” in their respective careers. For additional information go to the Information Technology Minor  page.


Return to {$returnto_text} Return to: Academic Departments Information