Dec 27, 2024  
2016-2017 Undergraduate Catalog 
    
2016-2017 Undergraduate Catalog [ARCHIVED CATALOG]

Computer Science


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

View Programs and Courses  

View Flow Sheets  

Faculty

Professor Bo Jin Hatfield, Chairperson

Professor: Mikhail S. Brikman

Associate Professors: Joseph S. Kasprzyk, Beifang Yi

Assistant Professors: Komlapreet Kaur, Sotirios Kentros, Sheila D. Shea, Lakshmidevi Sreeramareddy, Manish Wadhwa

Faculty Emeriti

Professors: Robert Campbell, Edward J. Wilkens, Joan G. Wuterich
Associate Professor: Gregg Whyte

Programs Offered

Bachelor of Science - Computer Science  

Option Sequences (all sequences consist of two courses)

Artificial Intelligence and Robotics
Computation Theory
Computer Graphics and Visualization
Computer Networking and Security
Distributed and Cloud Computing
Embedded Systems
Object-Oriented Programming
Parallel Computing
Software Engineering

Minor

Computer and Information Studies  
Information Technology Minor  

Programs in the Computer Science Department

The Computer Science Department offers a well-integrated curriculum for its Computer Science major and 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, 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, 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 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 had 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 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.) 

Retention in the Computer Science Major

In order to remain in the Computer Science degree program a student must maintain 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.  

Computer and Information Studies Minor

Computers and application software play an important role in almost any major and any career choice. The primary goal of the Computer and Information Studies 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;
  • opportunity to study additional computing topics that may give students a major edge in future employment - choices include web-based software development, embedded systems, databases, networking, software engineering, and artificial intelligence.

The Computer and Information Studies Minor is appropriate for students who anticipate that computer knowledge and skills will have a prominent role to play in their academic and professional careers.  For additional information go to the Computer and Information Studies 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