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:
Information Science and Systems
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
Data Base Analysts
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.
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|
|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(12 credits are required if SPE 130 or SPE 202 are used to fulfill Communications)||9 or 12|
|Arts and Science Electives*(9 credits are required if SPE 130 or SPE 202 are used to fulfill Communications)||9 or 12|
|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|
|CSC 229 Data Structures and Algorithms I||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 301W Systems Analysis and Design||3|
|CSC 325 Software Engineering||3|
|BCS 350 Web Database Development||3|
|BCS 378 Information Security||3|
|BCS 430W Senior Project||3|
|BCS/CSC 3XX 300-level elective or above||12|
*Note: BCS 102 cannot be used to meet this elective
|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|
Degree Type: BS
Total Required Credits: 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.
|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 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
SPE 202 Interpersonal Communications
An Introduction to effective interpersonal communication skills covering areas such as effective and active listening, feedback techniques, the effects of self-concept and perception in daily communications, and non-verbal and cross-cultural communication. These skills will be developed through class lectures, group exercises, and individual activities and assignments. Prerequisite(s): EGL 101
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
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
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
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 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 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 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
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
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 or 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.