The University offers a five-year program that allows qualified students to attain a Bachelor of Science degree in computer science and a Master of Science degree in computer science with a combined course load of 141 credits.

Students who have completed the first 15 credits of the computer science program with a grade point average (GPR) of 3.00 or better (in computer science courses) are eligible to apply to the combined B.S.-M.S. five-year program.

Applications should be submitted before the student has completed 27 credits of computer science courses. Upon completion of their undergraduate degree, students who have maintained a 3.00 GPR in their computer science courses will be admitted to the graduate computer science program.

Degree Plan

1st Semester (14 credits)

2nd Semester (14 credits)

3rd Semester (14 credits)

  • CSCI2232 Data Structures
  • CSCI2247 Assembly Language Programming
  • Free Elective
  • Science Elective: The student may choose any two of the following full-year laboratory science sequences: BIOL1251/BIOL1252, CHEM1201/CHEM1202, or PHYS2201/2202. The accompanying laboratory is required.
  • Science Lab: The student may choose any two of the following full-year laboratory science sequences: BIOL1251/BIOL1252, CHEM1201/CHEM1202, or PHYS2201/2202. The accompanying laboratory is required.
  • UNIV2001 Cross-cultural Perspectives

4th Semester (16 credits)

  • CSCI3251 Design of Software Systems
  • CSCI6623 Database Systems
  • MATH3237 Probability and Statistics I
  • Science Elective (same as in semester 3)
  • Science Lab (same as in semester 3)
  • UNIV2002 Global Issues

5th Semester (15 credits)

  • Concentration (6 credits): Students must complete any one of three concentration areas: Cybersecurity and Information Assurance, Game and Mobile Application Development, Big Data Analytics.
  • CSCI3240 Computer Networks
  • Free Elective
  • MATH2255 Discrete Structures

6th Semester (15 credits)

  • Concentration (Same as semester 5)
  • CSCI3255 Mathematical Foundations of Computer Science
  • CSCI6638 Operating Systems (These courses can be applied to the M.S. degree provided that the student earns a grade of B or better.)

Ethical & Moral Analysis

  • ENGR3000 Modern Technologies
  • Humanities/Soc Sci Elective: Take three credits of coursework in COMM, CRIM, ENGL, HIST, HUMN, LANG, PHIL, POLS, PSYC, RELI, or SOCI.

7th Semester (16 credits)

  • Concentration: (Same as in semester 5)
  • CSCI6603 Computer Organization (These courses can be applied to the M.S. degree provided that the student earns a grade of B or better)
  • ENGR2210 Technical Communications
  • MATH3220 Linear Algebra
  • Science Elective: (Same as in semester 3)
  • Science Lab: (Same as in semester 3)

8th Semester (16 credits)

  • Concentration (6 credits): (Same as in semester 5)
  • Free Elective (6 credits):
  • Science Elective: (Same as in semester 3)
  • Science Lab: (Same as in semester 3)

9th Semester (12 credits)

  • CSCI6620 Software Engineering
  • CSCI7645 Systems Programming
  • CS Graduate Elective (6 credits): Students must select three courses from the list below. However, students have the option of registering for a 3-credit internship (which counts as one graduate elective course) after completing the B.S. degree and 18 graduate credits. At the discretion of the School and consistent with the program objectives, other information technology and business-oriented course may be added to this list: CSCI 6733, CSCI 6734, CSCI 6735, CSCI 6751, CSCI 6810, CSCI 6844, CSCI 7728, CSCI 7781, CSCI 7785, CSCI 7795

10th Semester (9 credits)

  • CS Graduate Elective (9 credits) (Same as semester 9)

Concentrations

Students must complete any one of three concentration areas: Cybersecurity and Information Assurance, Big Data and Analytics, Mobile and Game App Development. Each concentration requires the successful completion of six courses (18 credits).

Cybersecurity and Information Assurance

Required Courses (15 credits)

  • CSCI2235 Survey of Computing Security
  • CSCI3274 Linux System Administration
  • CSCI3410 Foundations of Cybersecurity
  • CSCI3420 Cryptography
  • CSCI3783 Information Security

Elective Courses(3 credits)

  • Select one from the following courses:
  • CSCI3345 Firewalls and Intrusion Detection Systems
  • CSCI3391 Network and Information Security

Students completing the BS in Computer Science with this concentration are eligible to receive a Certificate of Completion of a NSA & DHS designated CAE-CDE program of study from FDU’s Center for Cybersecurity and Information Assurance (CCIA).

Mobile and Game App Development

  • CSCI3314 Mobile Application Development
  • CSCI3317 Computer Game Programming
  • CSCI3444 Programming for the Internet
  • CSCI3385 Artificial Intelligence
  • CSCI4380 Systems Development with Java
  • CSCI6836 Computer Algorithms

Big Data and Analytics

  • CSCI3331 Advanced Database
  • CSCI3460 Data Warehouse and Data Mining
  • CSCI4373 Distributed Database Systems
  • CSCI6885 Big Data Analytics with Hadoop & R
  • CSCI____ Introduction to Cloud Computing
  • CSCI____ Introduction to Machine Learning
Accreditation

Course Descriptions

  • BIOL1251 Modern biological principles and processes relating organismal diversity, evolution, ecology and behavior.

  • BIOL1252 Modern biological principles and processes relating organismal diversity, evolution, ecology and behavior. Cell structure and function, cell metabolism, genetics biochemistry.

  • CHEM1201 The fundamental laws, theories and principles of chemistry, with emphasis on atomic structure, chemical bonding, periodic classification of the elements, solutions, equilibrium, reaction kinetics and the theory and practice of the qualitative chemistry of the common ions.

  • CHEM1202 Fundamental principles of chemistry, with emphasis on atomic and molecular structure, physical, chemical and periodic properties, stoichiometry, energetics, kinetics and equilibria of reactions, and descriptive chemistry of elements, including theory of qualitative analysis of common ions.

  • CSCI1201 Elements of algorithm design and problem solving. Elementary data types and arrays. Static and dynamic type checking. Basic control structures and data flow: sequential, conditional, iterative. Assignment statements. Basic input/output. Elements of methods. Design, coding and implementation of programs in various areas using a language such as Java. (Equivalent to INFO 2101 Computer Programming for Information Technologists I)

  • CSCI1202 Stepwise refinement as a programming tool.Data abstraction and modules. Objects and classes. Inheritance and Polymorphism. Advanced put/output. Elements of debugging and testing. Design,coding and implementation of programs in various areas using a language such as Java. Prerequisite:grade of C or better in either CSCI 1201 Computer Programming I or INFO 2101 Computer Programming for Information Technologists I (Equivalent to INFO 2102 Computer Programming for Information Technologists II)

  • CSCI2215 Introduction to computer hardware and software, their interaction and trade-offs. Essentials of a computer organization and arithmetic, programming languages, assemblers, compilers and interpreters, I/O devices, operating systems, databases and files. Basic ideas in the areas of computer networks, system organization, computer theory, and security. Foundation for more advanced courses.

  • CSCI2232 Implementation of abstract data types used in computer science. Arrays, character strings, stacks, queues, one-way and two-way linked lists, trees, graphs and file structures. Searching, sorting, storage management, structure and selection.

  • CSCI2235 This course surveys various topics in the emerging field of computing and information security. The field is ever changing and is of national importance. Topics include first principles of security, access control, security policies, file permissions and security, monitoring, authentication methods, encryption techniques, networking, gateways and firewalls, and security management. Students will be able to identify different methods and tools appropriate for cyber defense.

  • CSCI2247 Assembly language in relation to computer architecture. Program- ming in assembly language of a particular computer. Numerical and symbolic applications. Input/output programming. Assembly systems: assemblers, loaders and linkers. Macros.

  • CSCI3240 Introduction to the theory and practice of compu- ter networking. Protocol design and analysis. Topics include layered protocol architectures, packet and circuit switching, multiplexing, routing, congestion and flow control, error control, sequencing, addressing, and performance analysis. Examples from current data networks. Co-Requisite:MATH 2255 OR permission of instructor.

  • CSCI3251 Systems development life cycle: requirements analysis, system design, system implementation, software testing and maintenance. Program documentation. Team projects.

  • CSCI3255 Discrete mathematics: sets, relations, functions, algebras, graph theory, Boolean algebra, mathematical induction. Grammars and languages. Automata theory: finite and pushdown automata. Turing machines. Computability and the halting problem. Decidability.

  • CSCI3274 This course introduces the concepts of system administration as they apply to the Linux operating system. Topics include operating system concepts; directories and file systems; users, groups, and permissions; Linux and Windows; bash shell and editing; regular expressions and scripting; processes and services; network, network software, and the Internet; databases security and installation. Students will be able to install and maintain Linux based computing systems in the lab. Integrate laboratory experience.

  • CSCI3314 Introduction to application development for mobile platforms using Android. Topics include graphic user interface design with Android Development Tools, Android?s API for video, audio, graphic and animation, touch screen handling and fundamentals of game development

  • CSCI3317 Introduction to Computer Game Development. Topics include fundamentals of Microsoft DirectX game and graphics libraries, 2D graphics and animation, audio output, keyboard/mouse handling, and fundamentals of 3D modeling, and programming.

  • CSCI3331 Study of database recovery, reorganization, per- formance and space management. Issues of inte- grity, transaction processing, concurrency and logical and physical database design.

  • CSCI3345 This course covers the theoretical and practical aspects of Firewalls and Intrusion Detection Systems. Some aspects of VPNs and Routers will also be covered. Topics: Packet filtering, stateful firewalls, proxy firewalls, firewall implementation, access control, port management, standards, policies & log analysis. Intrusion prevention, detection and countermeasures. IDS types and sensors. Implementation and integration of firewalls and IDS into the corporate security infrastructure. VPN basics,IPsec and router configuration. Secure network design, Wireless Intrusions, computer crime, forensics and legal liability. Various firewalls and IDS commercial products will be introduced. Students will have some "hands on" exposure to commercially available products. Prerequisite: CSCI 3240 and 3278 or permission of instructor.

  • CSCI3385 A general introduction to the ideas and methods that enable computers to be intelligent. Topics include search algorithms, expert systems, natural language processing, methods of knowledge representation and machine learning. Programming projects in LISP and/or PROLOG.

  • CSCI3391 Coverage of potential threats to a stand-alone or networked computer. The course includes strategies to harden the system against these threats and discusses the liability of the network administrator for crimes committed via the network. Business issues considered include social engineering, continuity, data backup and recovery, and risk analysis.

  • CSCI3410 The topic of Information Assurance and Security (IAS) has become of increasing Importance as computer systems are being subjected to continuous and more sophisticated attacks. This course presents an introduction to the application and management of mechanism for cyber security and information assurance in computing, communication, and organizational systems. Topics covered include malware and social engineering, vulnerability assessments, network security, authentication, basis cryptography, and risk analysis.

  • CSCI3444 This course introduces students to the fundamentals of Microsoft.NET framework, the ASP.NET Web development environment, and C# programming. It also covers XML Web services, SQL Server database and Microsoft Web server IIS (Internet Information Services). Students study how to develop powerful Web sites and Web applications that access databases using dynamic, server-side programming in C#. They also learn how to deploy such applications over various servers.

  • CSCI3460 Students will study the fundamentals of the data warehouse including architecture and decision making. Techniques like online analytical processes and the data mining will also be studied. Tools and techniques to help make business decision will also be covered.

  • CSCI3783 This course will study the important area of information security. It will cover both security management and the technical components of security. Topics will include many of these areas: security analysis, logical security design, physical security design, implementation of security systems and security maintenance.

  • CSCI4373 Theory of distributed databases and comparison to centralized databases. Methodologies to provide transparent access and update to and updating of local databases. Study of global locking and deadlocking strategies.

  • CSCI4380 This course introduces students to the advanced Java programming and how object-oriented systems development is realized in Java language. The topics covered include graphical user interface (GUI) design and programming, Java Swing Components, graphics, exception handling, multithreading, Java database connectivity (JDVC), Java networking programming, remote method invocation (RMI), Java Servlets and Java Serve Pages (JSP). It also exposes students to the applications of entity objects, boundary objects and control objects in programming. It enables students to do programming in database, networking, windows, multithreading and the web development using Java.

  • CSCI6603 Study of the relation between the structure and functional behavior of computer systems. Data representation and instruction sets. Control function, memory hierarchy, input-output processors and devices. Micro- and multiprocessors. Fall, Spring

  • CSCI6620 Creation of reliable software. Top-down design, structured programming techniques, verification and debugging of programs. Defining module interfaces. Estimating program timing and storage requirements. Program documentation. Programming style and aesthetics. A project-oriented course.Fall, Spring

  • CSCI6623 A survey of the current technology available in database systems. Relational, hierarchical and network models. Role of the data administrator. Levels of abstraction. Schema and subschema. Fall, Spring

  • CSCI6638 An introduction to the fundamental principles of operating systems in terms of resource management and machine virtualization. Topics include system services, process management, synchronization, threads, CPU scheduling, memory, device, and file management, and security. Integrated lab.

  • CSCI6733 Characteristics of decision support systems (DSS) within the MIS framework. Requirements for effective DSS. Normative and behavioral theories of decision making. Dialog, database and model management. Classes of models. DSS development: tools and methodologies.

  • CSCI6734 The evolution of knowledge-based expert systems, system structure, knowledge representation schemes, quantifying uncertainty, exact and inexact inference, survey of current systems, languages and tools for building expert systems, problem selection criteria, the expert system's life cycle, knowledge acquisition techniques, incremental development, testing and evaluation methods and applications of expert systems. Fall

  • CSCI6735 An introduction to the theory and technology of client-server computing. Course material includes an introduction to general software architecture and component-based software system development, n-tier architecture, sockets, RPS, Java RMI, CORBA, MS COM/DCOM and their application

  • CSCI6751 A general introduction to the ideas and methods that will enable computers to be intelligent. Topics include natural language parsing, search, predicate calculus, representation of common sense knowledge, expert systems, managing plans of action, language comprehension. Programming projects. Spring

  • CSCI6810 This course is designed for students who have object-oriented programming experience. It focuses on advanced Java programming features. The main topics are Java event model, event-driven programming, graphical user interface design, Java Swing components, graphics and media processing, exception handling, multithreading, Java applet and servlet, Web-based applications, I/O streams and data files, Java database connectivity (JDBC), Java networking programming, remote method invocation. (RMI) and Java beans.

  • CSCI6836 An introduction to algorithm development. Topics include complexity analysis, practical algorithm development, and common algorithm methods, including recursion, greedy algorithms, dynamic programming, backtracking, and branch-and-bound. The course will include programming assignments implementing the algorithms discussed in class.

  • CSCI6844 Planning, designing, programming and implementing an intranet (or internet). Programming technologies include: Active X, Common Gateway Interface (CGI), Java and Java Script, Hypartext Markup Language (HTML), Practical Extraction and Report Language (PERL), Visual Basic Script (VBSscript). Understanding web technologies, linking a database to the intranet, adding other intranet services such as e-mail, File Transfer Protocol (FTP), Wide Area Information Server (WAIS), and Gopher; connecting an intranet to the internet and securing an intranet with a firewall.

  • CSCI6885 The growth of Big Data presents a great challenge for academia and various industries. New technologies are emerging for storing data, information retrieval and knowledge discovery in large unstructured datasets. This course presents core paradigms of Big Data analytics along with cutting-edge tools and techniques. Hands-on training will be provided with NoSQL databases, the Hadoop family of Big Data analytics,scalable cloud computing and the R tool.

  • CSCI7645 Introduction to operating systems software. Topics chosen from process management interprocess communication, interrupt handling and file systems. Students will develop software that will implement and use operating systems primitives.

  • CSCI7728 Structured software design structured programming and multilevel testing. Team implementation of an on-line system. Complete documentation package for the system is to be prepared. Regression tests are to be developed. Maintenance of the system, including its documentation, is to be performed by modifying one of its major functional capabilities. Laboratory.

  • CSCI7781 Database performance, database reorganization, integrity and concurrency, transaction analysis, recovery database aspects, logical database design and physical database design.

  • CSCI7785 Theory of distributed databases and comparison to centralized databases. Topics include location transparence, locking, deadlock, data sharing and time-stamping. A project to implement a small distributed database system is of prime importance to the course.

  • CSCI7795 Constructing complete client-server systems for e-commerce. Object-oriented programming, Web-site design, scripting, advanced markup language fea- tures, Internet database programming, multimedia programming, and other techniques will be deployed as necessary to create and document a realistic e-commerce offering. Semester-long team projects.

  • ENGR2210 Overview of the writing, editing, research, and design principles of technical and professional communication. Students will learn how to gather, organize, and present information effectively. Course includes business and technical documentation, including on-line tools; oral reports and public speaking; teamwork and participation in group meetings; use of visuals to communicate material; professional, ethical, and social responsibilities; and research techniques using the library and the Internet. Prerequiste: ENWR 1101 - Academic Writing

  • ENGR3000 This course provides a systematic introduction to modern technologies, their history, evolutionary development, principles, and applications. The influences and impacts of technology on the economy, politics, culture, environment, society and the world are investigated. Attention is given to the relationships and connections of technology to other fields. Students learn the basic principles underlying the technologies, how to apply and manage technologies and assess their impacts. Critically thinking and problem solving skills used in research, design, development, invention, and innovation are emphasized. The laboratory experiences help the students develop the experimental research, creative and design skills.

  • MATH1201 Slope, equations of lines, slope of a curve, rate of change of a function, derivatives of algebraic and transcendental functions, maxima and minima, the Mean Value Theorem, indeterminate forms,the Fundamental Theorem of Calculus, basic techniques of integration.

  • MATH2202 Differentiation and integration of transcendental functions, methods of integration, indeterminate forms, infinite series. Taylor series. Conic sections.

  • MATH2255 Logic, sets, functions, algorithms. Integers, induction and recursion. Relations, posits, equivalence relations, digraphs and matrix representations. Boolean algebra, applications to logic, Boolean identities, Boolean functions, minimization of circuits. Graphs. Trees.

  • MATH3220 Vector spaces and linear transformations; systems of linear equations, bases, matrix representations of linear transforma- tions, matrix algebra, eigenvalues and eigenvectors, determin- ants, canonical forms, inner product spaces.

  • MATH3237 Sample spaces, discrete and continuous random variables. Point and Interval Estimation. Tests of Statistical Hypotheses.

  • PHYS2201 Applications of PHYS2101 General Physics I. Experiments from mechanics, heat, sound and fluids. Measurement and data analysis.

  • UNIV1001 The first course in the University Core program provides support for the transition to university life. Students are introduced to the global mission of the University as well as to the competencies of information and technological literacy. Students participate in formal and informal learning experiences that facilitate their personal and academic growth, enabling them to become more thoughtful and engaged citizens of the world. Respect for individual and cultural differences is fostered throughout the course, as is the generation of positive attitudes toward life long learning.

  • UNIV1002 The second course in the University Core program helps promote the transition from classroom learning to experiential learning, as well as the transition from academic life to professional life. Students are introduced to methods of self-awareness and engaged learning, and are encouraged to develop an academic plan, with formal and informal components, that supports their ultimate career goals. Respect for individual and cultural differences is fostered throughout the course, as is the importance of an international perspective for professional success.

  • UNIV2001 In the third course in the University Core program, students learn to describe and analyze cultural phenomena in their own lives, to grapple with cultural differences and to understand cultural conflicts. Through a study of samples across a variety of cultures, students examine the fluidity and multiplicity of cultural identities and borders. Ways in which cultures changes, how cultures shape and are shaped by individuals, how misunderstands and conflicts arise within and between cultures, and how those differences evolve are central to the course. Critical thinking skills are a developed and brought to bear on these topics.

  • UNIV2002 In the fourth course in the University Core program, students develop essential aspects of critical thinking and apply those skills in evaluating international systems, environmental issues, and human rights questions. Not only will this course demonstrate the global dimensions of crucial contemporary issues, it will also develop the relational thinking that students will be expected to exercise in other academic contexts and throughout the rest of their personal and professional lives. In other words, this course is as much about how to study and think about global problems and relationships as it is a course about specific global issues.

  • WRIT1002 This course provides students with intensive study and practice in process-oriented writing, critical reading, and rhetorical inquiry. Students engage expository texts in order to describe and evaluate the choices writers make and then apply that knowledge to their own compositions. Throughout the course, students give and receive feedback, revise their work, and reflect on their growth as writers.

  • WRIT1003 This course focuses on the study and practice of writing as research-based argument. As a means of arriving at the writing from committed stances, students learn to seek out, engage, and interrogate a variety of sources. Students write in academic, professional, and/or public forms, including academic essays and rhetorical analyses. Particular emphasis is placed on information literacy, source integration, and appropriate documentation.