Collage of images including computer programming students listening in class, a laptop computer with hands on the keyboard and a computer table with computer code overlaying it.

Computer Programming and Information Systems

Bachelor of Science Degree

Demand continues to be strong for students skilled in Information Technology. Of the top 10 degrees in demand for bachelor’s degree levels, four are computer related. They include the following degrees:

Computer Science
Information Science and Systems
Computer Engineering
Management Information Systems/Business Data Processing

As reported in the United States Department of Labor Occupational Outlook Handbook, employment of programmers, web developers, systems analysts and network architects is projected to grow in the range of 22 – 30 percent from 2010 to 2020, faster than the average projected growth for overall occupations.

The Computer Programming and Information Systems baccalaureate degree program requires a set of core courses that all graduates must take. The Core courses provide the diverse but fundamental foundation in technology necessary to create a technology savvy individual. In addition, the student selects courses in Programming, Systems Development, Networking, Web Development or Database. Each course offers the student a skill set in one discipline of Information Technology and enables him/her to study a particular area in depth.

This program touches on all aspects of computer programming and information systems. It provides a practical hands-on approach to programming with an emphasis on solving business problems.

Typical Employment Opportunities

Computer Support Specialists
Information Technology Specialists
Data Communications Analysts
Quality Assurance Technicians
ERP Analyst
Systems Analysts
Programmer/Analysts
Data Base Analysts
Web Developers
Network Administrators
Software Applications
Computer Network Technologist
CISCO Computer Network Technologist
Infor Applications Specialist for Visual and Cloud Suite Interfaces ERP Software Analyst Oracle Software Applications

Programmers convert project specifications, addressing problem statements and procedures, into detailed coding in a computer language. They will also develop and write computer programs to store and retrieve documents, data and information.

The Systems Analyst analyzes business, scientific and technical problems for application to computer-based systems.

For those interested in networking, our program offers courses in conjunction with the Cisco Networking Academy. Students taking and passing these courses receive training certifications for each course directly from Cisco. These courses prepare each student for taking the Cisco Certified Network Associate (CCNA) exam.

Web Development professionals are in demand due to the growth of the Internet and the expansion of the World Wide Web (the graphical portion of the Internet). This rapid growth has generated a variety of occupations related to the design, development, and maintenance of Web sites and their servers.

Database professionals will be prepared to design and administer the advanced databases that industry relies on.

Computer Programming & Information Systems (BS) Program Outcomes:

  • Graduates will be trained as technical problem solvers and will receive the knowledge and skills necessary to function and grow in this high-demand workforce.
  • Graduates will have had experiential learning opportunities such as internships and/or capstone projects.
  • Graduates will have an understanding of social and ethical issues as it relates to information technology.
  • Graduates will be effective communicators and work successfully in teams.

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 Programming and Information Systems

Dr. Jill O'Sullivan
Whitman Hall, Room 112
794-420-2190
cpis@farmingdale.edu
Monday-Friday 8:30am-5:00pm

Fall 2021

Subject to revision

Liberal Arts and Sciences (61-63 credits)
EGL 101 Composition I: College Writing (GE) 3
EGL 102 Composition II: Writing About Literature 3
EGL 310 Technical Writing OR
PCM 324 Report Writing and Technical Communications OR
Upper Division Liberal Arts Elective as advised 3
Communications (SPE 130, 202, 330, 331/PCM 331) (GE) 3
The Arts (GE) 3
Foreign Language (GE) 3
Humanities (GE) 3
Social Sciences 3
American/Other World/Western Civilization History (GE) 3
Natural Science (GE) 6-8
MTH 130 Calculus I w Applications (GE) 4
MTH 110 Statistics 3
300 level Arts & Science Electives 6
Arts and Science Electives* 15
Required: Business & Computer Systems (60 credits)
BCS 109 Introduction to Programming 3
CSC 111 Computer Programming I 3
BCS 160 Computers, Society, and Technology 3
CSC 211 Computer Programming II 3
BCS 215 UNIX Operating System 3
BCS 260 Introduction to Database Systems 3
BCS 262 Data Communications OR
BCS 208 Introduction to Networks 3
BCS 300 Management Information Systems 3
BCS 301 Systems Analysis and Design 3
CSC 325 Software Engineering 3
BCS 430W Senior Project 3
*BCS/CSC Elective 3
BCS/CSC 3XX 300-level elective or above 12
Elective BUS/BCS/CSC 3
BCS 350 Web Database Development 3
BCS 378 Information Security 3

*Note: BCS 102 cannot be used to meet this elective

Technical Electives

CSC 251 Discrete Structures 4
BCS 377 Web Development Frameworks 3
BCS 421 Android Mobile Application Development 3
BCS 422 iOS Mobile Application Development 3
BCS 427 Game Programming 3

Curriculum Summary

Degree Type: BS
Total Required Credits: 121-123

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.

1: No student will be permitted to remain in the Computer Programming and Information Systems Program if he/she has received three “F’s” in any BCS course or courses. Candidates for graduation will be required to have a minimum average GPA of 2.0 in BCS courses.
2: For all BCS courses that require a BCS prerequisite, the BCS prerequisite must be completed with a grade of C or better.
3: Students must complete at least 18 credits with BCS designation at Farmingdale.
4: Students with life experience may challenge up to 3 courses (9 credits via credit-by-evaluation).

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

EGL 310 Technical Writing

A detailed study of the fundamentals of writing technical reports and other technical communications. Topics emphasized include the elements of a technical report, the interpretation of statistics and data, and the composition of letters, memos, and informal reports containing technical information. Assignments and student exercises are drawn from the student's technical area. Prerequisite(s): EGL 102 with a grade of C or higher

PCM 324 Report Writing and Technical Communications

A practicum in which students produce a variety of business oriented and technical documents. This course provides students with a survey of current practices and techniques appropriate to writing for forums, especially for technical journals, newspapers, and magazines. It is also designed to make students proficient at writing professional articles and reports such as new product information sheets, technical correspondence, periodic reports, summaries, process and technical descriptions, instructions and analysis, and to allow students to incorporate graphs, tables and other illustrative matter with textual content. Prerequisite(s): Upper division standing or permission of department chair.

SPE 130 Public Speaking

This course prepares students in the following areas of effective expository and persuasive public speaking: audience analysis; topic selection; appropriate use and documentation of supporting material; organization and outlining techniques; aspects of delivery which include appropriate eye contact, posture, use of notes, elements of voice such as rate and volume, and the use of presentational visual aids. Group discussion and problem solving exercises will also be provided, and students will engage in peer feedback throughout the course.

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

BCS 109 Introduction to Programming

Using Python, this course covers the basic concepts of computer programming. Python is an easy-to learn, high-level computer programming language that is widely used in many applications. This course introduces the fundamental elements of programming such as expressions, conditionals, loops, functions, files, and then use these elements to create simple interactive applications. This course covers also simple GUI and animation-based applications.

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.

BCS 160 Computers, Society and Technology

This is an introductory course that provides students with the knowledge to stay current and informed in a technology-oriented, global society. Students will receive instruction in basic computer concepts and terminology, the fundamentals of the Windows operating system and have hands-on experience at the beginning to intermediate level using Microsoft Excel and Access. The Internet will be used to supplement textbook and lecture materials. Note: Students taking this course may not receive credit for BCS 102.

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 handlng, 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

BCS 215 UNIX Operating Systems

This course develops the fundamental knowledge of computer operating systems using UNIX. Topics include basic understanding of the UNIX system, utilizing the file system, programming language and security system. BCS 120 may be taken as a Prerequisite or Corequisite. Prerequisite(s): BCS 120 Corequisite(s): BCS 120

BCS 260 Introduction to Database Systems

This course provides the fundamental knowledge of database concepts. Topics studied will include the history and advantages of database systems, and the process of database design including entity-relationship diagrams and database normalization. Students will have hands-on experience using SQL (Structured Query Language). Prerequisite(s): BCS 120 and BCS 160 all with a grade of C or higher

BCS 262 Data Communications

This course is an introduction to the concepts and applications of computer networking and its role in the business world today. Topics include: history of networking and applications, voice and data communications, hardware, transmission, network topologies, network analysis, the OSI model, design, implementation and management issues.

BCS 208 Introduction to Networks

This course introduces the architecture, structure, functions, components, and models of the Internet and other computer networks. The principles and structure of IPv4 and IPv6 addressing and the fundamentals of Ethernet concepts, media, and operations are introduced to provide a foundation for the curriculum. By the end of the course, students will be able to build simple LAN’s, perform basic configurations for routers and switches, and implement IP addressing schemes. The laboratory component of this course will give the students hands-on experience configuring equipment needed to build a LAN. Prerequisite(s): Sophomore status

BCS 300 Management Information Systems

Managers have increasing responsibility for determining their information system needs and for designing and implementing information systems that support these needs. Management information systems integrate, for purposes of information requirements, the accounting, finance, and operations management functions of an organization. This course will examine the various levels and types of software and information systems required by an organization to integrate these functions. Prerequisite(s): BUS 109, BCS 109, BUS 111, or BCS 160

BCS 301 Systems Analysis and Design

This course explores the major issues in the analysis and design of a system, including methods of data collection, information requirements analysis and the analysis process. Emphasis is placed on the importance of the user in the design process and focuses on approaches that improve the successful implementation of a computer system. Topics include general systems theory, Systems Development Life Cycle, data flow diagrams, data dictionary, hardware and software evaluation, feasibility analysis, CASE tools and prototyping. Students are required to work in teams and demonstrate their skill in using project management and diagramming application software. Prerequisite(s): EGL 101, BCS 260, BCS 300, and (BCS 230 or CSC 211), all with a grade of C or higher and Junior Level Status.

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

BCS 430W Senior Project (Writing Intensive)

The primary objective of this course is to give Computer Programming and Information Systems students an opportunity to integrate techniques and concepts acquired in their other courses. Elements will be drawn primarily from BCS301 (Systems Analysis and Design) and BCS260 (Database), in addition to other courses in the student's selected track of study. 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 product. In addition to prerequisites, a second level programming course with a grade of C or better, and Senior level status is required. This is a writing-intensive course. Note: Students cannot get credit for BSC 430 and 430W; BCS 430W can be used to fulfill the writing intensive requirement. Note: Offered at the discretion of the Computer Programming and Info Systems Department. Prerequisite(s): EGL 101, BCS 260, BCS 230 and BCS 301 all with a grade of C or higher

BCS 350 Web Database Development

This advanced course prepares the student to use database management systems with web server software to develop and maintain the information content of a web site. Students in the course should have prior knowledge of programming and database management systems. Prerequisite(s): BCS 260 with a grade of C or higher.

BCS 378 Information Security

This course introduces students to the principles and practices of computer and network security. Topics covered include fundamental concepts and principles of computer security, basic cryptography, public key infrastructure, authentication and access control, threats and vulnerabilities, intrusion detection/prevention systems and network security, operating system security, software and data security, web security, and managerial and ethical issues in computer security. Prerequisite(s): BCS 262 and BCS 230 all with a grade of C or higher

BCS 102 Computer Concepts and Applications

This is an introductory course in the use of personal computers in today's society. Students will receive instruction in basic computer concepts and terminology, the fundamentals of the Windows operating system and have hands on experience at the beginning to intermediate level using Microsoft Word, Excel, and PowerPoint. The Internet will be used to supplement textbook and lecture materials. Note: Computer Systems students cannot use BCS 102 to meet a BCS Elective requirement.

CSC 251 Discrete Structures

No Description Found

BCS 377 Web Development Frameworks

The desire for a cutting-edge web application depends on the product or the business that the application is intended for, however, some features are similar among many of the applications. Examples include registration, validation, form processing, and connecting to a database. Programmers can build these features from scratch, but these features are built into the frameworks. Using the frameworks allows programmers to save time and concentrate on building web applications instead of writing and debugging off-the-shelf functionality. In this course, we will discuss how to build webpages using modern frameworks. Prerequisite(s): BCS 240 or BCS 235 with a grade of C or higher

BCS 421 Android Mobile Application Development

This course provides an introduction to Android mobile application development. Techniques for designing the user interface will be discussed. The Android application lifecycle and issues related to managing limited resources such as battery and memory will be covered. Storing application data using a database and the cloud will be explored. Students will receive hands-on experience using the Android mobile application development platform. Prerequisite(s): CSC 229 and BCS 345 with a C or higher.

BCS 422 iOS Mobile Application Development

This course provides an introduction to iOS mobile application development for Apple devices. Students will be introduced to the Swift programming language. Emphasis will be placed on good programming practices, on object oriented techniques, and on using established design patterns for mobile applications. Students will receive hands-on experience using the Xcode development environment to build example apps. Prerequisite(s): BCS 345 or BCS 370 or CSC 229 with a grade of C or higher.

BCS 427 Game Programming

The course covers the theoretical and practical foundations of video game development using the modern game engines. Students will learn the following: to develop a game concept; prototype, test, and iterate on their ideas; and navigate licensing, marketing, and other considerations This course builds a solid foundation for industry roles as a gameplay designer, technical designer, or programmer. This course discusses current techniques such as Mixed Reality and Navigation with Artificial Intelligence. Students will receive hands-on experience with several practical projects. Prerequisite(s): BCS 345 or CSC 229 with a grade of C or higher.

Last Modified 9/30/21