Computer Science

Bachelor of Science Degree

Computer Science is a discipline that studies computer architecture, software design, algorithms, information processing, computer applications and systems, and the mathematical foundations of computing. The four-year Bachelor of Science Degree in Computer Science is a student-centered industry-informed B.S. degree that leads to employment or graduate study in the field of computer science. The computer science content and curriculum build upon the work of the Association for Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers Computer Society (IEEE), the two major professional organizations in Computer Science. The ACM/IEEE CC2020 (Computing Curricula 2020) curriculum guidelines, the most prominent national standard for Computer Science degree curricula. The curriculum is designed to ensure students receive a broad foundation in computer science fundamentals, natural sciences, mathematics, and communication skills. Students will also be able to expand  their abilities through advanced elective offerings.

Students will develop proficiency in software design and algorithms by working both individually and in team environments. They will analyze, design, and build complex software components in diverse, collaborative teams to solve industry-informed relevant problems. Students in this program will expand their ability to communicate and collaborate across disciplines. An essential part of this program is a culminating experience to be completed in the senior year. Students generate their final projects, based on their interests and real-world issues. Students will be encouraged to participate in a research project with faculty and to collaborate with representatives from industry.

Computer Science graduates are trained for a wide variety of roles in the information technology and computing field. Graduates will possess strong problem-solving, communication, and leadership skills, which will enable them to become lifelong learners ready to become experts in their chosen field.

Typical Employment Opportunities 

Software Developers
Software Engineers
QA Engineers
Data Analysts
Web Developers
Technical Account Specialists
Research Assistants

Computer Science (BS) Program Outcomes:

  • Graduates will be able to apply computer science theory and software development fundamentals to produce computing-based projects.
  • Graduates will be able to analyze complex computing problems and apply principles of computing and other relevant disciplines to identify solutions.
  • Graduates will be able to design, implement, and test computing-based solutions to meet a given set of computing requirements using computer science theory and software development principles.
  • Graduates will be able to recognize professional responsibilities and make informed judgments in computing practice based on relevant legal and ethical principles.
  • Graduates will be able to function and communicate effectively as a member or leader of a team in a variety of professional contexts.
  • Graduates will be able to use current techniques, skills, and tools necessary for computing practice.
  • Graduates will be able to recognize the need for, and have the ability to, engage in lifelong learning.

 

Admission to Farmingdale State College - State University of New York is based on the qualifications of the applicant without regard to age, sex, marital or military status, race, color, creed, religion, national origin, disability or sexual orientation.

Contact Information

Computer Science

Dr. David S. Gerstl
Whitman Hall, Room 112
934-420-2190
cpis@farmingdale.edu
Monday-Friday 8:30am-5:00pm

Fall 2024

Subject to revision

College Requirement (1 credit)
FYE 101 First Year Experience* 1

Liberal Arts and Sciences (52 credits)
EGL 101 Composition I: College Writing (GE) 3
EGL 102 Composition II: Writing About Literature 3
Communication- Oral (SPE 330 or SPE 331) (GE) 3
The Arts (GE) 3
Natural Sciences and Scientific Reasoning (GE) chosen from BIO 130, BIO 131, CHM 152, CHM 153, PHY 143, or PHY 144 8
Humanities (GE) 3
MTH 150 Calculus I (GE) or
MTH 130 Calculus I with Applications 4
World Languages (GE) 3
Social Sciences (GE) 3
US History and Civic Engagement/World History and Global Awareness(GE) 3
Arts and Science Electives 6
300-level Arts and Science Electives 3
Preapproved Mathematics Elective** 4
MTH 110 Statistics or MTH 360 Applied Probability and Statistics 3


Required Computer Science (68 credits)

CSC 101 Introduction to Computing 3
CSC 111 Computer Programming I 3
CSC 211 Computer Programming II 3
CSC 229 Data Structures and Algorithms I 3
CSC 243 Computer Architecture and Organization 3
CSC 251 Discrete Structures 4
CSC 311 Advanced Programming*** 3
CSC 321 Principles of Programming Languages 3
CSC 325 Software Engineering 3
CSC 329 Data Structures and Algorithms II*** 3
CSC 332 Computer Networking 3
CSC 343 Operating Systems 3
CSC 363 Data Management 3
CSC 375 Ethical Issues in Computing*** 3
CSC 490 Senior Project*** or
CSC 492 Industry Forum 4
CSC Upper Level Elective or
Approved BCS Upper Level Elective 12
Free Electives 9

Curriculum Summary

*FYE 101 First Year Experience is required for all first time full time students

***The following courses must be completed in residency

  • CSC311 Advanced Programming,
  • CSC329 Data Structures and Algorithms II,
  • CSC375W Ethical Issues in Computing, and
  • CSC490 Senior Project

 

Degree Type:   BS
Total Required Credits:  120-121

Please refer to the General Education, Applied Learning, and Writing Intensive requirement sections of the College Catalog and consult with your advisor to ensure that graduation requirements are satisfied.

As a part of the SUNY General Education Framework, all first-time full time Freshman at Farmingdale State College (FSC) beginning Fall 2023, are required to develop knowledge and skills in Diversity: Equity, Inclusion, and Social Justice (DEISJ). Students will be able to fulfill this requirement at FSC by taking a specially designated DEISJ course that has been developed by faculty and approved by the DEISJ Review Board. DEISJ-approved courses may meet other General Education Knowledge and Skills areas and/or core competencies and thus be dually designated. DEISJ-approved courses may also earn other special designations such as those for Applied Learning or Writing Intensive.

** Consult the department or DegreeWorks for the latest list of approved electives.  Unapproved BCS courses will not count towards the major without prior written approval by the department.

Preapproved Mathematics electives:
ECO 380 Econometrics (3 credits)
MTH 151 Calculus II (4 credits)
MTH 236 Calculus II with Applications (3 credits)
MTH 245 Linear Algebra (3 credits)
MTH 246 Introduction to Financial Mathematics (3 credits)
MTH 252 Calculus III (4 credits)
MTH 270 Introduction to Mathematical Computation (3 credits)
MTH 360 Applied Probability and Statistics (3 credits)
MTH 390 Methods in Operations Research (3 credits)

FYE 101 First Year Experience

This course is designed to assist new students in acclimating, connecting, and adjusting to the college campus and experience. Through presentations, discussions and group work, students will become familiar with college resources and learn strategies for academic success. Students will also be introduced to the values and ethical principles of the College and encouraged to reflect on their role/responsibilities as college students. Topics include time management, study skills, stress management, goal setting, course and career planning, self-assessment and awareness, and the development of wellness strategies. Note: Students completing FYE 101 may not receive credit for FRX101, FYS 101, or RAM 101. Credits 1 (1.0)

EGL 101 Composition I: College Writing

This is the first part of a required sequence in college essay writing. Students learn to view writing as a process that involves generating ideas, formulating and developing a thesis, structuring paragraphs and essays, as well as revising and editing drafts. The focus is on the development of critical and analytical thinking. Students also learn the correct and ethical use of print and electronic sources. At least one research paper is required. A grade of C or higher is a graduation requirement. Note: Students passing a departmental diagnostic exam given on the first day of class will remain in EGL 101; all others will be placed in EGL 097. Prerequisite is any of the following: successful completion of EGL 097; an SAT essay score (taken prior to March 1, 2016) of 7 or higher; an SAT essay score (taken after March 1, 2016) of 5 or higher; on-campus placement testing.

EGL 102 Composition II: Writing About Literature

This is the second part of the required introductory English composition sequence. This course builds on writing skills developed in EGL 101, specifically the ability to write analytical and persuasive essays and to use research materials correctly and effectively. Students read selections from different literary genres (poetry, drama, and narrative fiction). Selections from the literature provide the basis for analytical and critical essays that explore the ways writers use works of the imagination to explore human experience. Grade of C or higher is a graduation requirement. Prerequisite(s): EGL 101

SPE 330 Professional and Technical Speech

A course designed to prepare students to develop and deliver oral presentations in a professional, business, scientific, or technical context, stressing methods of presenting information specific to students’ disciplines. Students use audio-visual materials or technology to enhance their presentations. Prerequisite(s): EGL 102

SPE 331 Advanced Oral Communications

This course is designed to develop effective and professional communication in the areas of communication theory, advanced presentation skills, and voice and diction. A major component of the course provides students with a personalized voice and diction diagnostic profile which informs each student of specific speech characteristics they present that deviate from Standard Eastern Dialect. Particular attention is given to New York Regional Dialect and foreign accent reduction. The course also introduces various theoretical systems of communication. There is a strong focus on the development and effective application of presentational skills in both public and group/team environments with an emphasis on professional settings. All aspects of the course contain written components which include student readings and reports as well as comprehensive speech outlines. Prerequisite(s): EGL 102

BIO 130 Biological Principles I

This course deals with biological processes primarily at the molecular and cellular level, and develops the foundations of evolutionary and ecological concepts. There is a study of cell structure, and an examination of cellular composition and metabolic processes including enzyme activity, respiration, and photosynthesis. Principles of genetics are studied at the cellular and molecular level, with reference to current techniques in molecular biology. Evolutionary mechanisms are introduced and ecological concepts are presented as a unifying theme. Note: BIO 130 is the first course in the required two-semester introductory sequence in the Bioscience Curriculum Core. It is also approved in the Natural Sciences General Education Competency Area and can serve as a lower-level laboratory science elective within the Liberal Arts. Note: The laboratory course, BIO 130L is a part of your grade for this course. Corequisite(s): BIO 130L

BIO 131 Biological Principles II

This course deals with biological processes primarily at the organismal level, and examines the diversity of living things. The origins and adaptations of the Prokaryota, Protista, and Fungi are explored, with emphasis on their ecological roles, economic value, and medical significance. Plant life cycles are introduced, and plant structure, physiology, and utilization are studied. The evolution and adaptations of various animal phyla are presented, with a consideration of structure and function in each; organ systems are studied with emphasis on humans as representative vertebrates. Note: BIO 131 is the second course in the required two-semester introductory in the Bioscience Curriculum Core. It is also approved in the Natural Sciences General Education Competency Area and can serve as a lower-level laboratory science elective within the Liberal Arts. Note: the laboratory course, BIO 131L is a part of your grade for this course. Prerequisite(s): BIO 130 Corequisite(s): BIO 131L

CHM 152 General Chemistry Principles I

The first part of a two semester sequence in General Chemistry Principles with laboratory. This course covers the qualitative and quantitative aspects of scientific measurement, the nature of matter, gases, liquids and solids, energy, atomic theory, properties of elements, chemical bonding, molecular structure and properties, stoichiometry, thermochemistry and solutions. Note: the laboratory course CHM 152L is a part of your grade for this course. Attendance in the laboratory course is required. Approved eye-protection and a laboratory coat are required materials. A student must pass the laboratory course to receive a passing grade in the entire course. Prerequisite(s): MP3 or MTH 116 AND Regents Chemistry or an equivalent High School Chemistry with Laboratory or CHM 124

CHM 153 General Chemistry Principles II

A continuation of General Chemistry Principles I, which includes laboratory. Topics include: solutions and their colligative properties, acids and bases, chemical equilibrium, ionic equilibrium, pH, buffers, titration curves, oxidation and reduction balancing, electrochemistry, chemical kinetics, the covalent bond and the shape of molecules. Note: the laboratory course CHM 153L is a part of your grade for this course. Attendance in the laboratory course is required. Approved eye-protection and a laboratory coat are required materials. A student must pass the laboratory course to receive a passing grade in the entire course. Prerequisite(s): CHM 152

PHY 143 General Physics I (Calculus)

A fundamental, calculus based, physics course with laboratory offered primarily for students in Science curricula. Topics discussed include Mechanics, Wave Motion, Kinetic Theory, and Thermodynamics. One of MTH 130 or MTH 150 must be taken either as a prerequisite or corequisite.

PHY 144 General Physics II (Calculus)

A continuation of PHY 143. Topics discussed include Electricity, Magnetism and Optics. Prerequisite(s): PHY 143 Corequisite(s): PHY 144L

MTH 150 Calculus I

This is the first course of the calculus sequence. Topics include limits, continuity, differentiation of functions of one variable, anti-differentiation, introduction to Riemann sums and integration, the fundamental theorem of calculus, and applications of differentiation and integration. Note: Students completing this course may not receive credit for MTH 130. Prerequisite(s): MP4 or MTH 117 or 129

MTH 130 Calculus I with Applications

This is a calculus course for those not majoring in Mathematics. Topics include the derivative, differentiation of algebraic, trigonometric, exponential and logarithmic functions, applications of the derivative and the definite integral. Applications are taken from technology, science, and business. Problem solving is stressed. A graphing calculator is required. Note: Students completing this course will not receive credit for MTH 150. This course may be non-transferable to science programs, such as Engineering Science or Computer Science, at other institutions. Prerequisite(s): MP4 or MTH 117 or 129

MTH 110 Statistics

Basic concepts of probability and statistical inference. Included are the binominal, normal, and chi-square distributions. Practical applications are examined. Computer assignments using Minitab form an integral part of the course. Prerequisite(s): MP2 or MTH 015

MTH 360 Applied Probability and Statistics

In this course, we study applications of probability distributions and statistical inference. Topics are chosen from statistical parameters, continuous and discrete random variables, probability and sampling distributions, confidence intervals, hypothesis testing, regression analysis, and analysis of variance. Prerequisite(s): MTH 130 or MTH 150

CSC 101 Introduction to Computing

Computers have become a part of everyday life across many academic disciplines. In this course, students will acquire a broad knowledge of the computer science and information technology fields. Topics covered will include basic computer concepts, an overview of computational and algorithmic thinking, and an introduction to using computers to solve real-world problems. After completing this course, students will be prepared to apply computer concepts to other fields.

CSC 111 Computer Programming I

This is an introductory programming course. Students will be taught basic concepts of computer programming and problem solving using an object-oriented language. Selection, repetition, methods, classes, and arrays will be covered. Note: CSC 101 is recommended as a prerequisite, but not required for this course. Note: Students completing this course may not receive credit for BCS 120.

CSC 211 Computer Programming II

This course expands upon the knowledge and skills presented in Computer Programming I. Topics covered include: stack and heap memory, exception handling, inheritance, polymorphism, recursion, abstract types, unit testing, and basic GUI programming. Note: Students completing this course may not receive credit for BCS 230 Prerequisite(s): CSC 111 OR BCS 120 with a grade of C or higher

CSC 229 Data Structures & Algorithms I

This course is the first of a two course sequence that teaches students to efficiently apply programming techniques to problems commonly encountered in application programming. Fundamental data structures, including stacks, queues, lists, and trees are discussed and implemented. Students are introduced to the asymptotic analysis of algorithms into standard equivalency classes. Emphasis is placed on good programming practices. Students are evaluated both on their theoretical knowledge as well as on their performance on a variety of programming projects. NOTE: Students completing this course may not receive credit for BCS 370. Prerequisite(s): CSC 211 or BSC 230 with a grade of C or higher

CSC 243 Computer Architecture and Organization

This course provides students with an understanding of computer architecture and organization. Topics include machine level representation of data, assembly language and its relation to machine level organization, and memory system architecture. Students will complete a variety of programming assignments in assembly language and the C programming language. Prerequisite(s): CSC 111 with a grade of C or higher.

CSC 251 Discrete Structures

The study of discrete mathematics forms the foundation for the theory and practice of computer science. This course discusses the fundamentals of logic, proofs, sets, functions, relations, recursion, recurrence relations, mathematical induction, graphs, trees, basic counting theory, regular languages, and context free grammars. Prerequisite(s): MTH 150 or MTH 130 with a grade of C or higher

CSC 311 Advanced Programming

The course expands upon the knowledge and skills presented in Computer Programming II and Data Structures and Algorithms I. Topics covered includes: graphical user interfaces and multimedia, collections, testing and documentation, streams, regular expressions, lambda expressions, concurrency, and network programming. Prerequisite(s): CSC 229 with a grade of C or higher

CSC 321 Principles of Programming Language

Developers must understand the programming models underlying different languages to make an informed language choice when initiating a project. In this course, students will learn about the major programming language design paradigms and the strengths and weaknesses of the languages that follow them. This course also provides an introduction to the concepts behind compilers and runtime representations of programming languages. Topics covered may include the procedural, functional, logical, object-oriented, and visual programming paradigms. Prerequisite(s): CSC 229 with a grade of C or higher

CSC 325 Software Engineering

This course discusses the fundamental knowledge of software engineering methods and supporting tools in the context of modern software development. This course takes a close look at the various phases of software projects: definition, design, development, .delivery, management, and maintenance. The modern methodologies used in each of these phases will be explored, as well as their integration into successful projects. Students will learn through individual and team projects how to use version control systems and apply the principles of V software quality assurance. Prerequisite(s): CSC 229 with a grade of C or higher

CSC 329 Data Structures and Algorithms II

This course is the second of a two course sequence that teaches students to efficiently apply programming techniques to problems commonly encountered in application programming. More complex data structures, including balanced trees, graphs, maps, and heaps are introduced. Students are taught to analyze and classify more complex iterative and recursive algorithms into the standard Big-O equivalency classes. Emphasis is placed on good programming practice. Students are evaluated both on their theoretical knowledge as well as on their performance on a variety of programming projects. NOTE: Students completing this course may not receive credit for BCS 340. Prerequisite(s): CSC 229 with a grade of C or higher

CSC 332 Computer Networking

This course focuses on understanding how computer networks behave and the key principles of their organization and operation. Topics include layering, encapsulation, multiplexing, packet switching, principles of reliable data delivery, principles and mechanisms for congestion control, resource allocation, address translation, and other networks-related topics. Students will program and experiment with computer networks using specialized tools. Students completing this course may not receive credit for BCS 208. Prerequisite(s): CSC 211 with a grade of C or higher

CSC 343 Operating Systems

This course studies the design and implementation of computer operating systems. Topics covered include operating systems, principles, processes, CPU scheduling, concurrency, memory management, file systems, protection and security. Prerequisite(s): CSC 229 with a grade of C or higher

CSC 363 Data Management

This course focuses on the study of data and its storage with an emphasis on relational database technology and exposure to NoSQL. Students will learn the entire process of database development from data gathering to querying a fully normalized relational database. Prerequisite(s): CSC 211 or BCS 230 with a grade of C or higher

CSC 490 Senior Project

The primary objective of this course is to give Computer Science students an opportunity to integrate techniques and concepts acquired in their coursework to the real-world experience of putting together and developing a functioning system. Elements will be drawn primarily from previous coursework, however everyone, functioning as part of a team, is required to go beyond what they've learned in coursework in order to develop a working system. The course is experiential in nature i.e. the student will be required to produce results for use by real individuals and will be evaluated both on process and end-­product. In addition to prerequisites, Senior level standing is required. Prerequisite(s): CSC 311 and CSC 325 and Senior Level Standing

Last Modified 8/9/24