WCSU Undergraduate Catalog 2019-2020 : Macricostas School of Arts & Sciences

Computer Science

Gancho Ganchev, Chair
ganchevg@wcsu.edu
Higgins Hall 039G
(203) 837-9349

Daniel Coffman, Associate Chair
coffmand@wcsu.edu
Higgins Hall 039B
(203) 837-8746

Batreece Jett, Department Secretary
Jettb@wcsu.edu
Higgins Hall 039
(203) 837-9345

Faculty

G. Ganchev, Chair
D. Coffman, Assoc. Chair
N. Ezzati
W. Joel
T. Ivanov
S. Murthy

Adjunct Faculty

T. Nassar

J. Shpunt

R. Gurkewitz, Associate Professor Emeritus

 

Overview

The Bachelor of Science in Computer Science (CS) degree is designed to meet the needs of students interested in software development. It can accommodate students who plan to enter the profession directly from college or who plan to continue with graduate study. The program is continuously revised to keep it up to date. The department recommends that all computer science majors pursue a minor in some field.

Mission

Consistent with the university’s mission of being an accessible, responsive, and creative intellectual resource for the people and institutions of Connecticut, the department’s mission is to offer a broad and up-to-date curriculum that provides students with a comprehensive foundation that permits graduates to adapt to new technology and new ideas.

Goals

To accomplish this mission the Department of Computer Science emphasizes the following:

  1. Technical understanding of Computer Science: Graduates will have a mastery of Computer Science as described in the Body of Knowledge of the current ACM/IEEE Computing Curricula.
  2. Common themes and principles: Graduates will understand a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency, and will recognize that these themes and principles have broad application to the field of computer science and are not relevant only to the domains in which they were introduced.
  3. The interplay between theory and practice: Graduates will understand the interplay between theory and practice and how theory and practice influence each other.
  4. System-level perspective: Graduates will be able to think at multiple levels of detail and abstraction. They will be able to recognize the context in which a computer system may function, including its interactions with people and the physical world.
  5. Problem-solving skills: Graduates will be able to apply the knowledge they have gained to solve real problems. They will realize that there are multiple solutions to a given problem and that selecting among them is not a purely technical activity, as these solutions will have a real impact on people’s lives. Graduates will be able to communicate their solution to others, including why and how a solution solves the problem and what assumptions were made.
  6. Project experience: Graduates will have been involved in at least one substantial software development project, requiring evaluation of potential solutions, work on a larger scale, integration of modules, and providing opportunities to develop their interpersonal communication skills.
  7. Commitment to life-long learning: Graduates will realize that the computing field advances at a rapid pace and that they must continue to learn and adapt their skills throughout their careers. To develop this ability, students will be exposed to multiple programming languages, tools, and technologies as well as the fundamental underlying principles throughout their course of study.

Degree Programs in Computing

Bachelor of Science in Computer Science
Bachelor of Arts in Applied Computing

Minor Programs

Computer Science
Digital Media
Informatics
Security
Web Development

Interdisciplinary Program

Bachelor of Arts in Digital and Interactive Media Arts (B.A.)
(See the Department of Communication & Media Arts for requirements – http://catalogs.wcsu.edu/ugrad1819/sas/programs/communication/)

Bachelor of Science in Computer Science (B.S.)

Requirements:

Students must complete all general education competency requirements (see program sheet for details), the course and credits listed below and additional free electives to total a minimum of 120 semester hours, including foreign language and exercise science.  A GPA of 2.5 or better is required in the CS major and math courses for graduation.

Required Courses:

CS 140 Introduction to Programming

CS 170 Language C++
CS 205 Data Modeling and Database Design
CS 215 Computer Architecture
CS 221 Object Oriented Programming & Data Structures
CS 240 Computer Organization & Software
CS 315 Design and Analysis of Algorithms
CS 350 Object Oriented Software Engineering
or CS 305 Database Applications Engineering
or CS 360 Distributed Applications Engineering
CS 355 Programming Languages
CS 450 Operating Systems
MAT 141 Foundational Discrete Mathematics
MAT 181 Calculus I
MAT 222 Introductory Statistics
MAT 304 Discrete Mathematics for Computer Science
CS/MAT 359 Introduction to Theory of Computation
Twelve semester hours of approved computer science electives.

Course Restrictions
For a complete list of prerequisites, corequisites and other restrictions for all courses, please consult the Course Description section of this catalog.

The following is a per-semester sequence of courses. However, due to the diversity of student backgrounds, students must consult with their faculty adviser to select the program sequence which best fits their needs.

Freshman Year

Fall Semester Spring Semester
CS 140 CS 170
MAT 133 or MAT 170 MAT 141

Sophomore Year

CS 205 CS 215
CS 221 CS 240
MAT 181 MAT 222
MAT 304

Junior Year

CS 315 CS 350 or CS 305 or CS 360
CS Elective CS Elective
Lab science Lab science

Senior Year

CS 450 CS Elective
CS 355 CS/MAT 359

Learning Outcomes

Graduates of the program will have an ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Bachelor of Arts in Applied Computing (B.A.)

Requirements:

Students must complete all general education competency requirements (see program sheet for details), the course and credits listed below and additional free electives to total a minimum of 120 semester hours, including foreign language and exercise science.

Required Courses:

CS 140 Introduction to Programming
CS 170 Language C++
CS 205 Data Modeling and Database Design
CS 215 Computer Architecture
CS 221 Object Oriented Programming & Data Structures
CS 240 Computer Organization & Software
CS 350 Object Oriented Software Engineering
or CS 305 Database Applications Engineering
or CS 360 Distributed Applications Engineering
CS 450 Operating Systems
MAT 120 Elementary Statistics or MAT 222 Introductory Statistics
MAT 141 Foundational Discrete Mathematics or CS/MAT 165 Introductory Discrete Mathematics
MAT 181 Calculus I
PHI 227 Ethics in Computing
Twelve semester hours of approved computer science electives

Optional Concentrations

Computer Security

MAT 127 Introduction to Cryptology
MIS 341 Information Systems Security
CS 265 Computer Security Implementation with Java

Digital Media

MAT 272 Linear Algebra (prerequisite MAT182 Calculus II, 4 credits)
CS 235 Digital Media
CS 340 Computer Animation

Software Engineering

CS 166 Introduction to UNIX
Two of the following:
A Second Software Engineering Course from CS 305 Database Applications Engineering or CS 350 Object Oriented Software Engineering or CS 360 Distributed Applied Engineering
CS 250 Advanced Topics in Programming using Java
CS 245 Web Applications Development

Course Restrictions 
For a complete list of prerequisites, corequisites and other restrictions for all courses, please consult the Course Description section of this catalog.

The following is a per-semester sequence of courses. However, due to the diversity of student backgrounds, students must consult with their faculty advisor to select the program sequence which best fits their needs.

Freshman Year

Fall Semester Spring Semester
CS 140 or CS 143 CS 171
MAT 133 or MAT 170 MAT 141

Sophomore Year

CS 205 CS 215
CS 221 CS 240
MAT 181 MAT 120

Junior Year

CS 350 or CS305 or CS 360 Lab science
CS Elective CS Elective
Lab science

Senior Year

CS 450 CS Elective

Learning Outcomes

Graduates of the program will have the ability to:

  1. Apply knowledge of computing and mathematics appropriate to solve a variety of software development problems of moderate difficulty
  2. Analyze a problem, and identify and define the computing requirements appropriate to its solution
  3. Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  4. Function effectively on teams to accomplish a common goal
  5. Understand professional, ethical, legal, security and social issues and responsibilities as they apply to computing
  6. Communicate effectively ideas and computer-based solutions with a range of audiences

 

MINOR IN COMPUTER SCIENCE

To meet the minor requirement you can take no more than half of the credits in the major and nine credits must be taken at Western.

Sixteen semester hours are required:
CS 170 Language C++
CS 221 Object Oriented Programming & Data Structures
CS 215 Computer Architecture
CS 240 Computer Organization and Software

MINOR IN DIGITAL MEDIA

Sixteen to 18 semester hours are required:
CS 170 Language C++ or CS 250 Advanced Topics in Programming with JAVA
ART 121 Design I
ART 141 Drawing I
CS 235 Digital Media
CS 330 Computer Graphics
CS 340 Computer Animation or ART 152 Photography I or ART 327 Digital Design or ART 328 Illustration III/Animation Production

MINOR IN INFORMATICS

Fifteen to 16 semester hours are required:
CS 170 Language C++ or CS 250 Advanced Topics in Programming with JAVA
CS 205 Database Modeling and Database Design
CS 215 Computer Architecture
CS 270 Computers in Society

MINOR IN SECURITY

Fourteen to 15 semester hours are required:
CS 166 Intro to Unix
CS 170 Language C++ or CS 250 Advanced Topics in Programming with JAVA
CS 240 Computer Organization and Software
MIS/JLA 341 Information Systems Security

MINOR IN WEB DEVELOPMENT

Fifteen to 16 semester hours are required:
CS 110 Website Production
CS 170 Language C++ or CS 250 Advanced Topics in Programming with Java
CS 205 Database Modeling and Database Design
CS 245 Web Applications Development