WCSU Undergraduate Catalog 2021-2022 : Macricostas School of Arts & Sciences

Computer Science

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

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

Cathy DeSisto, Department Secretary
desistoc@wcsu.edu
Higgins Hall 101
(203) 837-9299


Faculty
D. Coffman, Chair
G. Ganchev, Assoc. Chair
W. Joel
T. Ivanov


Adjunct Faculty
P. Mayer
T. Nassar
J. Shpunt
R. Gurkewitz, Associate Professor Emeritus


Overview
The Computer Science department offers Bachelor’s degrees designed to meet the needs of students interested in software development. They can accommodate students who plan to enter the profession directly from college or who plan to continue with graduate study. The programs are continuously revised to remain up to date. The department recommends that all Applied Computing and 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.

 

Learning Outcomes – B.S. in Computer Science

Graduates of the program will have an ability to:

  1. Analyze a complex computing problem and 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.


Learning Outcomes – B.A. in Applied Computing

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


Degree Programs in Computer Science

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

Minor Programs
Computer Science
Digital Media
Informatics
Security
Web Development

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

 


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

Description: Students in the Computer Science program will study computers and computing, hardware and software, including their theoretical, algorithmic and mathematical foundations and their uses in processing information.  

Program Educational Objectives:
Program educational objectives are broad statements that describe what graduates are expected to attain within few years of graduation. Program educational objectives are based on the needs of the program’s constituencies.

Within a few years of graduation, graduates of the Computer Science program will have applied their expertise to contemporary problem solving, will be engaged professionally, will have continued to learn and adapt, and will have contributed to their organizations through leadership and teamwork. The program educational objectives of the BS in Computer Science program at WCSU are therefore expertise, engagement, learning, leadership and teamwork. More specifically, in a few years of graduation, each student will demonstrate:

  1. Peer-recognized expertise together with the ability to articulate that expertise to a variety of audiences and use it for contemporary problem solving in the analysis, design, implementation, and evaluation of effective, efficient, and secure computing solutions in the context of their current work environment.
  2. Engagement in the computing profession and the broader community, locally and globally, by contributing to the ethical, competent, and creative practice of software engineering and/or other computing professional careers.
  3. Sustained learning, personal growth, and adaptation to the constant changes in their chosen field through graduate work, professional development, and self-study.
  4. Ethical leadership and initiative to advance professional and organizational goals, facilitate the achievements of others, and obtain significant results.
  5. Commitment to teamwork as demonstrated by collaboration with others of diverse cultural and interdisciplinary backgrounds, and different levels of expertise.

Degree Requirements
All degrees at WCSU require 120 semester hours (SH). This includes major requirements, general education requirements, cognates (where applicable), and free electives. This structure provides room for minors, internships, and study abroad.

Required Courses in the Major: 63 SH.  

CS 140 Introduction to Programming  4 SH 
CS 170 Language C++  4 SH 
CS 205 Data Modeling and Database Design  4 SH 
CS 215 Computer Organization and Architecture  4 SH 
CS 221 Object Oriented Programming and Data Structures  4 SH 
CS 240 Software Organization  4 SH 
CS 315 Design and Analysis of Algorithms  4 SH 
CS 350 Object Oriented Software Engineering OR CS 305 Database Applications Engineering OR CS 360 Distributed Applications Engineering  4 SH 
CS 355 Programming Languages  4 SH 
CS 450 Operating Systems  4 SH 
MAT 222 Introductory Statistics  3 SH 
MAT 141 Foundational Discrete Mathematics   3 SH 
MAT 304 Discrete Mathematics for CS  2 SH 
CS/MAT 359 Intro to Theory of Computation  3 SH 
Twelve (12) SH of CS Electives: CS 235, 245, 265, 270, 285, 297, 298, 299, 305, 330, 340, 350, 351, 357, 360, 385, 399, 410, 444, 484, MAT 182, 272  12 SH 
COGNATE 
PHI 227 Ethics in Computing (IL, W2)  3 SH 
Two science courses from: AST 150, AST 231, BIO 103 & 104, CHE 110 & 111, ES 110, ES 210, MTR 150, MTR 230, MTR 240, PHY 110, 111, 120, 121   7-8 SH 
MAT 181 Calculus I or MAT 170 & 171 Calc I with Pre-Calc  4-8 SH 
Minimum GPA for the BS in Computer Science = 2.5 


General Education
: All students must complete the General Education curriculum. General Education Requirements include both competency and breadth requirements. In some cases, major courses will satisfy competencies. These are indicated in the parentheses after the course title. For a complete description of the General Education program, follow this link. https://catalogs.wcsu.edu/ugrad/academic-programs-degrees/ 

Cognates: In some programs there are courses outside of the major that are required as pre-requisites or enhancements to the major course work. These courses may satisfy competencies and they will count toward the general education breadth requirement. If cognate courses are required, they are included in the list of courses required in the major.  

Electives: All degrees require 120 semester hours.  Elective credits are opportunities for minors, internships, study abroad, and just following general interests. We encourage all students to speak with their advisors about great opportunities for their elective courses.  


Sample Four Year Plan: BS Computer Science

Four-year plans are suggestions. Plans change. Consult your advisor to adjust your plan.  

Semester 1  SH  Semester 2  SH 
First Year Navigation (FY)  1  CS 170 Language C++  4 
CS 140 Intro to Programming  4  Gen Ed: Critical Thinking (CT)  3 
MAT 133 Pre-Calc OR MAT 170 Calc w/Pre-Calc OR MAT 181 Calc I (QR)  3-4  MAT 141 Foundational Discrete Math (QR, Rpt. 1)  3 
Gen Ed: Oral Communication (OC) OR Creative Process (CP)  3  Gen Ed: Oral Communication (OC) OR Creative Process (CP))  3 
WRT 101 Composition I (W1)  3  Gen Ed: Health and Wellness (HW)  2 
       
Semester 3  SH  Semester 4  SH 
CS 221 Object Oriented Programming and Data Structures  4  CS 240 Software Organization  4 
CS 205 Data Modeling & Database Design  4  MAT 171/MAT 181 Calc I  4 
Gen Ed: Intercultural Competency (IC)*  3  Gen Ed: Intercultural Competency (IC, Rpt. 2)  3 
CS 215 Computer Organization and Architecture  4  CS Elective **  4 
       
Semester 5  SH  Semester 6  SH 
MAT 304 Discrete Math for CS  2  CS 315 Design and Analysis of Algorithms  4 
CS 350 Object Oriented Software Engineering OR CS 305 Database Applications Engineering

OR CS 360 Distributed Applications Engineering 

4  CS/MAT 359 Intro to the Theory of Computation  3 
MAT 222 Introductory Statistics  3  PHI 227 Ethics of Computing (IL, W2)   

3 

Gen Ed: Scientific Inquiry (SI)*** 3-4  Gen Ed: Scientific Inquiry (SI, Rpt. 3)***  3-4 
Free Elective  3  Gen Ed: Writing Tier 3 (W3)  3 
       
Semester 7  SH  Semester 8  SH 
CS 355 Programming Languages  3  CS Elective** 4 
Free Electives Gen Ed: Culminating Gen Ed Exp. (CE)  3 
CS Elective** 4 Free Electives 6-8
 
Total Credits Required for the BS in Computer Science = 120; Minimum GPA 2.0. 

*The BS in Computer Sciences includes the completion of a foreign language at the elementary II level or higher. Students who have completed three years of a foreign language at a minimum of a C average in high school have met this requirement. Intercultural Competency may complete the Intercultural Competency in other areas.  

**CS Electives can vary in number of SH.  Remember that your total must be 120 to graduate. 

***Two courses from: AST 150, AST 231, BIO 103 & 104, CHE 110 & 111, ES 110, ES 210, MTR 150, MTR 230, MTR 240, PHY 110, 111, 120, 121. One course must have a lab component.


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

Description: Students in the Applied Computing program will study computers and computing, hardware and software, and the development of computing applications. Applied Computing students may select one or more concentrations in Computer Security, Digital Media, or Software Engineering. Students may choose to focus their CS electives in three areas: Computer Security, Digital Media, or Software Engineering.  

Degree Requirements
All degrees at WCSU require 120 semester hours (SH). This includes major requirements, general education requirements, cognates (where applicable), and free electives. This structure provides room for minors, internships, and study abroad.

Required Courses in the Major50 SH.  

CS 140 Introduction to Programming  4 SH 
CS 170 Language C++  4 SH 
CS 205 Data Modeling and Database Design  4 SH 
CS 215 Computer Organization and Architecture  4 SH 
CS 221 Object Oriented Programming and Data Structures  4 SH 
CS 240 Software Organization 4 SH 
CS 350 Object Oriented Software Engineering OR CS 305 Database Applications Engineering OR CS 360 Distributed Applications Engineering  4 SH 
CS 450 Operating Systems  4 SH 
MAT 120 Elementary Statistics  3 SH 
MAT 141 Foundational Discrete Mathematics   3 SH 
Twelve (12) SH of CS Electives: CS 235, 245, 265, 270, 285, 297, 298, 299, 305, 315, 330, 340, 350, 351, 357, 359, 360, 385, 399, 410, 444, 484, 990, MAT 182, 272, 356 12 SH 
COGNATE 
PHI 227 Ethics in Computing (IL, W2)  3 SH 
Two science courses from: AST 150, AST 231, BIO 103 & 104, CHE 110 & 111, ES 110, ES 210, MTR 150, MTR 230, MTR 240, PHY 110, 111, 120, 121  7-8 SH 
MAT 181 Calculus I or MAT 170 & 171 Calc I with pre-calc  4-8 SH 
Minimum GPA for the BA in Applied Computing = 2.0. 


General Education
: All students must complete the General Education curriculum. General Education Requirements include both competency and breadth requirements. In some cases, major courses will satisfy competencies. These are indicated in the parentheses after the course title. For a complete description of the General Education program, follow this link. https://catalogs.wcsu.edu/ugrad/academic-programs-degrees/ 

Cognates: In some programs there are courses outside of the major that are required as pre-requisites or enhancements to the major course work. These courses may satisfy competencies and they will count toward the general education breadth requirement. If cognate courses are required, they are included in the list of courses required in the major.  

Electives: All degrees require 120 semester hours.  Elective credits are opportunities for minors, internships, study abroad, and just following general interests. We encourage all students to speak with their advisors about great opportunities for their elective courses.  


Sample Four Year Plan: Applied Computing

Four-year plans are suggestions. Plans change. Consult your advisor to adjust your plan.  

Semester 1  SH  Semester 2  SH 
First Year Navigation (FY)  1  CS 170 Language C++  4 
CS 140 Intro to Programming  4  Gen Ed: Critical Thinking (CT)  3 
MAT 133 Pre-Calc OR MAT 170 Calc w/Pre-Calc OR MAT 181 Calc I (QR)  3-4  MAT 141 Foundational Discrete Math (QR, Rpt. 1)  3 
Gen Ed: Oral Communication (OC) OR Creative Process (CP)  3  Gen Ed: Oral Communication (OC) OR Creative Process (CP))  3 
WRT 101 Composition I (W1)  3  Gen Ed: Health and Wellness (HW)  2 
       
Semester 3  SH  Semester 4  SH 
CS 221 Object Oriented Programming and Data Structures  4  CS 240 Software Organization  4 
CS 205 Data Modeling & Database Design  4  MAT 171/MAT 181 Calc I  4 
Gen Ed: Intercultural Competency (IC)  3  Gen Ed: Intercultural Comp. (IC, Rpt. 2)  3 
CS 215 Computer Organization and Architecture  4  CS Elective**  4 
       
Semester 5    Semester 6   
CS 350 Object Oriented Software Engineering OR CS 305 Database Applications Engineering

OR CS 360 Distributed Applications Engineering 

4  CS Elective OR Free Elective  4 
CS Elective OR Free Elective**  3-4  CS Elective OR Free Elective ** 3 
Gen Ed: Scientific Inquiry (SI) *** 3-4  Gen Ed: Scientific Inquiry (SI, Rpt. 3) *** 3-4 
MAT 120 Elementary Statistics  3  Gen Ed: Writing Tier 3 (W3)  3 
    PHI 227 Ethics of Computing (IL, W2)  3 
       
Semester 7    Semester 8   
CS 450 Operating Systems  4  CS Elective or Free Elective  3-4 
CS Elective or Free Elective  3-4  Gen Ed: Culminating Gen Ed Exp. (CE)  3 
CS Elective or Free Elective  3-4  Free Electives  6 
Free electives   6    
Total Credits Required for the BA in Applied Computing = 120; Minimum GPA 2.0. 

**All Bachelor of Arts degrees at WCSU require that students complete a language at or above the elementary II level. Students who have completed three years of a foreign language at a minimum of a C average in high school have met this requirement. However, you must still complete at least one Intercultural Competency course. 

**CS Electives may be selected to create concentrations as follows:
Computer Security: MAT 127 Intro to Cryptology, MIS/JLA 341 Information Systems Security, CS 265 Computer Security Implementation with Java.
Digital Media: MAT 272 Linear Algebra (MAT 182 Calc II required), CS 235 Digital Media, CS 340 Computer Animation.
Software Engineering: CS 166 Intro to UNIX, and two of the following, including the required software engineering course: CS 305 Database Applications Engineering, CS 350 Object Oriented Software Engineering,  CS 360 Distributed Applications Engineering, CS 245 Web Applications Development, Advanced programming course CS 298 or CS 299 by department approval only. 

***Two courses from AST 150, AST 231, BIO 103 & 104, CHE 110 & 111, ES 110, ES 210, MTR 150, MTR 230, MTR 240, PHY 110, 111, 120, 121. One course must have a lab component.  

MINORS

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 WCSU. Please see your advisor to review all program requirements.


Minor in Computer Science (16 SH)

Required Courses (16 SH):
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 (16-18 SH)

Required Courses 16-18 SH):
CS 170 Language C++ OR CS 172 Intermediate Java Programming
ART 121 Fundamentals of Two-dimensional Design
ART 141 Drawing I
CS 235 Digital Media
CS 340 Computer Animation OR ART 207 Photography I OR ART 342 Introduction to Digital Imaging and Production OR ART 444 Illustration III

Minor in Informatics (14-15 SH)

Required Courses (14-15 SH):
CS 170 Language C++ OR CS 172 Intermediate Java Programming
CS 205 Database Modeling and Database Design
CS 215 Computer Organization & Architecture
CS 270 Computers in Society OR PHI 227 Ethics in Computing

Minor in Security (13-14 SH)

Required Courses (13-14 SH):
CS 166 Introduction to Unix
CS 170 Language C++ OR CS 172 Intermediate Java Programming
CS 240 Software Organization
MIS/JLA 341 Information Systems Security

Minor in Web Development (14-15 SH)

Required Courses (14-15 SH):
CS 110 Website Production
CS 170 Language C++
CS 205 Database Modeling and Database Design
CS 245 Web Applications Development