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 CS2013 curriculum guidelines, the most prominent national standard for Computer Science degree curricula, were used to ensure sufficient coverage of important topics. 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
Technical Account Specialists
Computer Science (BS) Program Outcomes:
Graduates will be able to apply computer science theory and software development fundamentals to produce computing-based
- 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.
Subject to revision
|Liberal Arts and Sciences||(52 credits)|
|EGL 101 Composition I: College Writing (GE)||3|
|EGL 102 Composition II: Writing About Literature||3|
|Communications (SPE 330 or SPE 331) (GE)||3|
|The Arts (GE)||3|
|Natural Science (GE)||8|
|MTH 150 Calculus I (GE)||4|
|Foreign Language (GE)||3|
|Social Sciences (GE)||3|
|American/Other World/Western Civilization History (GE)||3|
|300 level Arts & Science Electives||3|
|Arts and Science Electives*||13|
Required Computer Science (68 credits)
|CSC 101 Introduction to Computing||3|
|CSC 111 Computer Programming I||3|
|CSC 251 Discrete Structures||4|
|CSC 211 Computer Programming II||3|
|CSC 229 Data Structures and Algorithms I||3|
|CSC 243 Computer Architecture and Organization||3|
|CSC 329 Data Structures and Algorithms II||3|
|CSC 311 Advanced Programming||3|
|CSC 363 Data Management||3|
|CSC 325 Software Engineering||3|
|CSC 321 Principles of Programming Languages||3|
|CSC 375 Ethical Issues in Computing||3|
|CSC 343 Operating Systems||3|
|CSC 332 Computer Networks||3|
|CSC 490 Senior Project or|
|CSC 492 Industry Forum||4|
|CSC Upper Level Elective or|
|Approved BCS Upper Level Elective||12|
Degree Type: BS
Total Required Credits: 120
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.
* Students who have received credit for CSC 211 are not eligible to take CSC 101. These students will be required to take an additional elective from an approved elective list.
** Students must take at least 7 credits of approved mathematics courses (from the Math department or from other departments) that are at least at the level of Calculus I. For students intending to transfer or to pursue graduate study, 4 credits of this should be Calculus 151 Calculus II.
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)
BCS 360 Programming in SQL / Database Programming
BCS 372 Foundations of Theoretical Computer Science
BCS 378 Information Security
BCS 390 Database Administration and Security
BCS 421 Android Mobile Application Development or
BCS 422 iOS Mobile Application Development
BCS 425 Business Intelligence and Data Warehousing
BCS 427 Game Programming
BCS 428 Large Software System Development
MTH 270 Introduction to Mathematical Computation (3 credits)
MTH 360 Applied Probability and Statistics (3 credits)
MTH 390 Methods in Operations Research (3 credits)
Selected BCS and CSC elective courses (3 credits):
BCS 440 CPIS Internship / Computing Internship
CSC 345 Compiler Construction and Design
CSC 351 Human Computer Interaction
CSC 411 Secure Programming
CSC 425 Advanced Software Development
CSC 429 Advanced Algorithms
CSC 466 AI and Machine Learning
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
MTH 150 Calculus I
This is the first course of the calculus sequence. Topics include, differentiation of functions of one variable, introduction to integration, application of differentiation and integration. A graphing calculator is required. Note: Students completing this course may not receive credit for MTH 130. Prerequisite(s): MP4 or MTH 117 or 129
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. Students cannot get credit for BCS 230 and CSC 211.