Computer Science (CS)

Course usage information

CS-102   Introduction to Computing and Problem SolvingCredits: 4   

Term Offered: All Terms

Course Type(s): TL

Introduces a broad overview of computing topics, designed to provide students with awareness of the computing field's many aspects. Topics include fundamentals of computer architecture, operating systems, applications, networks and problem-solving. Computing topics are demonstrated and presented using computing applications including word processors, spreadsheets, databases, presentation software, and Web page development software. Introduces social and ethical issues related to computing and explores the local and global impact of computing on individuals, organizations and society. It also gives students their initial exposure to group project work.

Course usage information

CS-104   Introduction to Problem Solving and Software DevelopmentCredits: 3   

Term Offered: All Terms

Course Type(s): TL

Introduces a broad overview of problem solving, computing topics, and fundamental concepts and methodologies of software development designed to provide students with awareness of the computing field's many aspects. Topics include fundamentals of computer architecture, operating systems, applications, problem-solving. It emphasizes the main phases of the software development lifecycle, such as requirements, design, implementation, testing, project planning. Also, it stresses the difference between the software product and process. Introduces social and ethical issues related to computing and explores the local and global impact of computing on individuals, organizations and society. It also gives students their initial exposure to group project work.

Course usage information

CS-175   Introduction to Computer Science ICredits: 3   

Prerequisite(s): CS-104

Co-requisite(s): CS-175L

Term Offered: All Terms

Course Type(s): None

Introductions to the basic concepts of program development in a modern object-oriented language; problem-solving methods and algorithm development; basic primitive and object data types; language syntax; style and documentation; and coding and testing of programs

Course usage information

CS-175L   Introduction to Computer Science I labCredits: 1   

Prerequisite(s): CS-104

Co-requisite(s): CS-175

Term Offered: All Terms

Course Type(s): None

Introductions to the basic concepts of programming and program development in a modern Software Development Environment with debugger and source code control.

Course usage information

CS-176   Introduction to Computer Science IICredits: 3   

Prerequisite(s): CS-175 and CS-175L, both passed with a grade of C or higher

Co-requisite(s): CS-176L

Term Offered: All Terms

Course Type(s): None

Continuation in depth and breadth of problem solving and algorithm development, using the same modern object-oriented language as in CS-175. More advanced object-oriented design. Introduction to polymorphism, inheritance, and interfaces.

Course usage information

CS-176L   Introduction to Computer Science II LabCredits: 1   

Prerequisite(s): CS-175 and CS-175L, both passed with a grade of C or higher

Co-requisite(s): CS-176

Term Offered: All Terms

Course Type(s): None

Introduction to advanced concepts of programming and program development in a modern Software Development Environment with debugger and source code control.

Course usage information

CS-199   Independent Study in Computer ScienceCredits: 1-3   

Term Offered: All Terms

Course Type(s): None

Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.

Course usage information

CS-202   Discrete Mathematics and ApplicationsCredits: 4   

Prerequisite(s): CS-175 and MA-109

Term Offered: All Terms

Course Type(s): None

Covers the basic concepts, methods, structures, and models from discrete mathematics used throughout computer science. Topics addresses include: logic and mathematical reasoning, functions, sets, summations, asymptotic notation, algorithms and complexity, number theory, cryptography, matrix algebra, induction and recursion, counting techniques, combinatorial objects, discrete structures, discrete probability therapy, relations, and graph theory and graph algorithms.

Course usage information

CS-205   Data Structures and AlgorithmsCredits: 3   

Prerequisite(s): MA-130, CS-176, and CS-176L, all passed with a grade of C or higher

Co-requisite(s): CS-205L

Term Offered: All Terms

Course Type(s): None

Introduction to the design, implementation, and use of fundamental data structures (lists, stacks, queues, trees); extensions of these structures and associated algorithms; informal complexity analysis.

Course usage information

CS-205L   Data Structures and Algorithms LabCredits: 1   

Prerequisite(s): MA-130, CS-176, and CS-176L, all passed with a grade of C or higher

Co-requisite(s): CS-205

Term Offered: All Terms

Course Type(s): None

Introductions to the basic concepts of programming and program development in a modern Software Development Environment with debugger and source code control.

Course usage information

CS-212   Networking Fundamentals ICredits: 3   

Term Offered: Spring Term

Course Type(s): None

Prepares students with knowledge and skills required to successfully install, operate, and troubleshoot a small branch office network. Includes topics on networking fundamentals; connecting to a WAN; basic security and wireless concepts; routing and switching fundamentals; the TCP/IP and OSI models; IP addressing; WAN technologies; operating and configuring IOS devices; configuring RIPv2, static and default routing; implementing NAT and DHCP; and configuring simple networks.

Course usage information

CS-222   Networking Fundamentals IICredits: 3   

Prerequisite(s): CS-212

Term Offered: All Terms

Course Type(s): None

Prepares students with knowledge and skills required to successfully install, operate, and troubleshoot a small to medium size enterprise branch network. Covers topics on VLSM and IPv6 addressing; extending switched networks with VLANs; configuring, verifying and troubleshooting VLANs; the VTP, RSTP, OSPF and EIGRP protocols; determining IP routes; managing IP traffic with access lists; NAT and DHCP; establishing point-to-point connections; and establishing Frame Relay connections.

Course usage information

CS-250   Android Application DevelopmentCredits: 3   

Prerequisite(s): CS-175 and CS-176

Term Offered: Spring Term

Course Type(s): None

Introduces students to writing applications for Android mobile devices. It familiarizes students with the development software for creating Android apps, programming logic used in the apps, and Java code that puts the software design and logic into the practice using an Android emulator.

Course usage information

CS-275   Introduction to an Algorithmic LanguageCredits: 3   

Term Offered: All Terms

Course Type(s): None

A thorough overview of the syntax of an algorithmic language and stress on the concepts of structured programming. Four hours per week.

Course usage information

CS-286   Computer Architecture ICredits: 3   

Prerequisite(s): CS-176 or CS-275 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Number representations and operations. Processor data path. Pipelining. Memory hierarchy. Input/Output. Assembly language programming.

Course usage information

CS-288   Cooperative Education: Computer ScienceCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher, Junior standing, and thirty or more credits with at least fifteen taken at Monmouth University

Term Offered: All Terms

Course Type(s): EX2

Provides an opportunity for students who are engaged in a computer science-related work experience. Fifteen to twenty hours of work experience per week. May be repeated for credit. Departmental approval is required to take this course.

Course usage information

CS-289   Internship in Computer ScienceCredits: 3   

Term Offered: Summer Term

Course Type(s): EX1

Supervised practical experience in Computer Science. Repeatable for credit. Sophomore standing, departmental approval, and placement are required to take this course.

Course usage information

CS-298   Special Topics in Computer Science (200 Level)Credits: 1-3   

Term Offered: All Terms

Course Type(s): None

An intensive study of a particular subject or problem in computer science to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.

Course usage information

CS-299   Independent Study in Computer ScienceCredits: 3   

Term Offered: Spring Term

Course Type(s): None

Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.

Course usage information

CS-302   Designing and Implementing Routing in Enterprise NetworksCredits: 3   

Prerequisite(s): CS-212 and CS-222, both passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Prepares students with knowledge and skills necessary to use advanced IP addressing and routing in implementing scalable and secure routers connected to LANs and WANs. Also covers configuration of secure routing solutions to support branch offices and mobile workers.

Course usage information

CS-306   Computer Algorithms IICredits: 4   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Continuation in depth and breadth of the design, implementation, and use of data types (list, binary search tree, tree, hash table, graph); intermediate algorithm design; complexity analysis. Four hours per week.

Course usage information

CS-310   Advanced Object-Oriented Programming and DesignCredits: 3   

Term Offered: All Terms

Course Type(s): WT

Object-oriented programming and design, using a language different from that used on CS 176. Use of classes, inheritance, polymorphism, and libraries. Topics will include flexible system design for such requirements as globalization. This is a writing-intensive course.

Course usage information

CS-312   Designing and Implementing Switching in Enterprise NetworksCredits: 3   

Prerequisite(s): CS-302 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Prepares students with knowledge and skills necessary to plan, configure, and verify the implementation of complex enterprise switching solutions using Enterprise Architecture. Also covers secure integration of VLANs, WLANs, and voice and video into campus networks.

Course usage information

CS-315   Theory of ComputingCredits: 3   

Prerequisite(s): CS-176 or CS-275 passed with a grade of C or higher and either CS-202 or MA-120 or MA-130 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

An introduction to phrase structure languages and their relation to automata, computability, and program verification.

Course usage information

CS-316   Implementing Network SecurityCredits: 3   

Prerequisite(s): CS-212 and CS-222 both passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Prepares students with knowledge and skills required to secure networks. Includes topics on core security technologies, the installation, troubleshooting and monitoring of network devices to maintain integrity, confidentiality and availability of data and devices, and competency in the technologies that use its security structures. A hands-on career oriented course, with an emphasis on practical experience, to help students develop specialized security skills, along with critical thinking and complex problem solving skills.

Course usage information

CS-320   IP Telephony Design and ImplementationCredits: 3   

Prerequisite(s): CS-212 and CS-222 both passed with a grade of C or higher

Term Offered: Fall Term

Course Type(s): None

Prepares students with knowledge of how to implement and support data and voice integration solutions at the network-access level. Topics covered include basic IP Telephony operation, router configuration, support, troubleshooting, and integration with an existing PSTN network.

Course usage information

CS-322   Network TroubleshootingCredits: 3   

Prerequisite(s): CS-312 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Prepares students with knowledge and skills necessary to plan and perform regular maintenance on complex enterprise routed and switched networks and use technology-based practices to perform network troubleshooting.

Course usage information

CS-324   Computer Architecture IICredits: 3   

Prerequisite(s): CS-286 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Boolean algebra, combinational and sequential circuit devices are presented in lectures and laboratory. Computer hardware organization. Memory and CPU design. CPU control with microcode. Four hours per week.

Course usage information

CS-325   Software Engineering ConceptsCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher; and EN-101 and EN-102 or permission of the instructor

Term Offered: Fall Term

Course Type(s): WT

Overview of software engineering concepts, analysis/design techniques, Unified Modeling Language (UML), software documentation, and group development of software.

Course usage information

CS-330   Administrating Unified Communication ManagerCredits: 3   

Prerequisite(s): CS-212 and CS-222 both passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Prepares students with knowledge of deploying a Unified Communications Manager to support single site and multi-site deployment models.

Course usage information

CS-335   Programming Language ConceptsCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: Fall Term

Course Type(s): None

Design, evaluation, and implementation of programming languages. Discussion of imperative, applicative, object-oriented and concurrent languages. Four hours per week.

Course usage information

CS-337   Enterprise Mobile Apps Design and DevelopmentCredits: 3   

Prerequisite(s): CS-205 passed with a minimum grade of C or higher

Term Offered: Fall Term

Course Type(s): None

Presents methodologies to build enterprise mobile apps on iPad tablets and iPhone smartphones using iOS. The course will cover technologies to use in the design and development of apps on mobile devices and integration of these apps with corporate data sources, sensor devices and cloud computing services. Also listed as SE-337.

Course usage information

CS-350   Research in Computer ScienceCredits: 1-4   

Prerequisite(s): CS-306 passed with a grade of C or higher, a minimum of fifteen credits at Monmouth University and a minimum GPA of 3.25

Term Offered: All Terms

Course Type(s): EX5

Original research work, associated with an external constituent and/or organization, planned and carried out with assistance of faculty research advisor. Research conducted by the student will be shared with the external constituency and submitted for outside publication and review. Number of credits arranged with advisor. Limited to Computer Science students with approval of chair, program director, or advisor.

Course usage information

CS-360   Introduction to Game DevelopmentCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: Fall Term

Course Type(s): None

An introduction to the creation of computer/video games and the different elements of games, including computer graphics, animation, artificial intelligence, algorithms, data structures, networking, software development cycles and human-computer interaction. Also listed as SE-360.

Course usage information

CS-370   Program Development Under UnixCredits: 3   

Prerequisite(s): CS-176 or CS-275 passed with a grade of C or higher

Term Offered: Fall Term

Course Type(s): None

Introduction to the use of the UNIX operating system and its utilities for incremental and distributed program development, maintenance, and debugging. The course covers the UNIX shell, utilities, and program development tools that are used for large projects involving multiple developers on multiple machines. Three hours per week.

Course usage information

CS-371   Scripting LanguagesCredits: 3   

Prerequisite(s): CS-176 or equivalent

Term Offered: All Terms

Course Type(s): None

An introduction to programming using widely-used, dynamically-typed, interpreted programming languages, which are sometimes called "scripting" languages. Covers general-purpose scripting languages, such as Perl and Python that are used to develop a wide range of applications. Scripting languages, such as PHP, that are used primarily in web development, will not be covered in this course.

Course usage information

CS-375   File ManagementCredits: 4   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: Fall Term

Course Type(s): None

Overview of files, records and files, blocking and buffering, secondary storage devices; sequential file organization, external sort/merge algorithms; random access; relative file organization; tree-structured file organization; search trees, indexed sequential file organization; list-structured file organization; multiple-key file organization. Four hours per week.

Course usage information

CS-388   Cooperative Education: Computer ScienceCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher, Junior standing and thirty or more earned credits with at least fifteen taken at Monmouth University

Term Offered: All Terms

Course Type(s): EX2

Provides an opportunity for students who are engaged in a computer science-related experience. Fifteen to twenty hours of work experience per week. This course may be repeated for credit. Departmental approval is required to take this course.

Course usage information

CS-389   Internship in Computer ScienceCredits: 3   

Term Offered: Summer Term

Course Type(s): EX1

Supervised practical experience in Computer Science. Repeatable for credit. Junior standing, departmental approval, and placement are required to take this course.

Course usage information

CS-398   Special Topics in Computer Science (300 Level)Credits: 1-3   

Prerequisite(s): CS-176 or CS-275 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

An intensive study of a particular subject or problem in computer science to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.

Course usage information

CS-399   Independent Study in Computer ScienceCredits: 3   

Term Offered: All Terms

Course Type(s): None

Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.

Course usage information

CS-414   Computer NetworksCredits: 4   

Prerequisite(s): CS-286 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Provides introduction to computer-networking concepts, technologies, and services, including basic communications theory, analog and digital devices, Public Switched Telephone Network, data networks, LANs, wireless services, data protocols, the Internet, multi-media, and B-ISDN.

Course usage information

CS-418   Compiler ConstructionCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

The principles and practices of incorporating the theory of finite automata and context-free languages, the maintenance and use of semantic information, and the generation and optimization of code to produce a compiler. Four hours per week.

Course usage information

CS-420   Survey of Artificial Intelligence Concepts and PracticesCredits: 3   

Prerequisite(s): CS-205 and MA-130 both passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Introduction of fundamental concepts and practices of artificial intelligence, covering search techniques, constraint satisfaction, knowledge representation, machine learning, planning, and natural language processing. The course will provide experience in the implementation of techniques from these areas. Three hours per week.

Course usage information

CS-432   Database SystemsCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: Fall Term

Course Type(s): None

Overview of database system concepts; data modeling; ER and UML diagrams; relational database schema definition; database design; query languages; introduction to NoSQL and comparison between relational and non-relational databases; hand-on experience of SQL, Oracle, and NoSQL.

Course usage information

CS-435   Systems ProgrammingCredits: 3   

Prerequisite(s): CS-205 and CS-286 both passed with a grade of C or higher and Senior standing

Term Offered: Fall Term

Course Type(s): None

Introduction to the implementation of basic system software: text editors, assemblers, loaders, and macro processors, with emphasis on software methodology for creating and maintaining large programs. The language of instruction will be C, which will be briefly introduced. Four hours per week.

Course usage information

CS-438   Operating Systems AnalysisCredits: 3   

Prerequisite(s): CS-286 and CS-205 both passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Management of memory, processes, files, and devices. OS design principles and performance measures. Multiprogramming, multiprocessing, concur-ency, deadlock, virtual machines. Competitive and cooperating processes. Programs will be written in C or in Java. Three hours per week.

Course usage information

CS-445   Computer GraphicsCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

Drawing lines and curves, area filling, fractals, three dimensional viewing, clipping, ray-tracing, shading, hidden line and surface removal. Four hours per week.

Course usage information

CS-461   Simulation and ModelingCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): None

An introduction to the use of discrete event simulation and other modeling methods and tools to predict the performance of computer systems and communications networks.

Course usage information

CS-471   System AdministrationCredits: 3   

Prerequisite(s): CS-370 or CS-371 passed with a grade of C or higher

Term Offered: Spring Term

Course Type(s): None

Fundamental topics in system administration, focused primarily on UNIX administration with added coverage of Microsoft Windows NT descendant systems. The course is a hands-on introduction to installing and maintaining modern, multi-user, production UNIX-like operating systems and the essential services that are hosted on these systems.

Course usage information

CS-488   Cooperative Education: Computer ScienceCredits: 3   

Prerequisite(s): CS-205 passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): EX2

Provides an opportunity for students who are engaged in a computer science-related experience. Fifteen to twenty hours of work experience per week. May be repeated for credit. Departmental approval is required to take this course. Junior standing, thirty or more earned credits with at least fifteen taken at Monmouth University and CS-205 passed with a grade of C or higher are required to take this course.

Course usage information

CS-489   Internship in Computer ScienceCredits: 1-3   

Term Offered: All Terms

Course Type(s): EX1

Supervised practical experience in Computer Science. Repeatable for credit. Junior standing, departmental approval, and placement are required to take this course.

Course usage information

CS-490   Senior ProjectCredits: 4   

Prerequisite(s): CS-325 and CS-432 both passed with a grade of C or higher

Term Offered: Spring Term

Course Type(s): RD

Affords the student an opportunity to integrate topics and techniques from previous coursework in a capstone project. The project will combine investigation into computer science literature and actual implementation, either in an area of current research or an application area of interest to industry. Implementation might involve collaboration with other students. The project will be presented formally, both orally and in written form. This course satisfies the reasoned oral discourse requirement for computer science students.

Course usage information

CS-492A   Computer Science Senior Project ACredits: 3   

Prerequisite(s): CS-325 and CS-432, both passed with a grade of C or higher

Term Offered: All Terms

Course Type(s): RD

Affords the student an opportunity to integrate topics and techniques from previous coursework in a capstone project. The project will combine investigation into computer science literature and actual implementation, either in an area of current research or an application area of interest to industry. Implementation might involve collaboration with other students. The project will be presented formally both orally and in written form. This course satisfies the reasoned oral discourse requirement for computer science students.

Course usage information

CS-492B   Computer Science Senior Project BCredits: 3   

Prerequisite(s): CS-492A

Term Offered: All Terms

Course Type(s): RD

Affords the student an opportunity to integrate topics and techniques from previous coursework in a capstone project. The project will combine investigation into computer science literature and actual implementation, either in an area of current research or an application area of interest to industry. Implementation might involve collaboration with other students. The project will be presented formally both orally and in written form. This course satisfies the reasoned oral discourse requirement for computer science students.

Course usage information

CS-498   Special Topics in Computer Science (400 Level)Credits: 1-3   

Term Offered: All Terms

Course Type(s): None

An intensive study of a particular subject or problem in computer science to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.

Course usage information

CS-499   Independent Study in Computer ScienceCredits: 1-4   

Term Offered: All Terms

Course Type(s): None

Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.