Computer Science Department

Course Descriptions

All courses are 3 credits unless otherwise noted
Jump to: 200-Level, 300-Level, 400-Level Courses

CS 101 Fundamentals of Computer Science I
This is an introduction to computer programming in C++. Topics include data types, arithmetic and logical expressions, arrays, and modular programming.
Pre-requisite: MATH 165 Pre-Calculus

CS 102 Fundamentals of Computer Science II
This course is a continuation of CS 101 Fundamentals Of Computer Science. Topics include program debugging and testing, multidimensional arrays, string processing; searching and sorting.
Pre-requisite: CS 101 Fundamentals Of Computer Science I

CS 107 Computers and Information Systems
This is a general introduction to methods of processing information via modern computer systems. Covered topics include computer system components, primary and secondary storage, input/output devices, system and software development, end user application tools and the modern electronic data processing environment. Students are introduced to the Internet in this course.

CS 115 Microcomputers and Programming I
This is an introduction to microcomputers and programming. Topics include planning, writing, and documenting programs, control structures, numeric and string variables, arrays, and subroutines.


CS 201 Assembly Language Programming (IBM)
This course is designed for those students who desire knowledge of IBM System 370 assembly language programming with emphasis on the following topics: binary and hexadecimal number systems, addressing formats, instruction formats, arithmetic operations, logical operations and branching. Note: Only one of CS 201 or CS 212 may be credited toward the Computer Science major.
Pre-requisite: CS 101 Fundamentals of Computer Science I

CS 202 Discrete Structures I
This course introduces basic theoretical tools for describing algorithmic processes and covers topics such as propositional logic, predicate logic, set theory and graph theory.
Pre-requisite: MATH 165 Pre-Calculus
Top of Page

CS 203 Discrete Structures II
The course is a continuation of CS 202 and might include topics such as Boolean algebra, recursion relations, graph traversal algorithms and random number generators.
Pre-requisite: CS 202 Discrete Structures II

CS 204 Introduction to Computer Organization
Topics include representation of data and control information by digital signals and the design of logic devices such as flip-flops and gates.
Pre-requisite: CS 202 Discrete Structures I
and either CS 201 Assembly Language Programming (IBM)
or CS 212 Assembly Language Programming (VAX)

CS 205 Computational Methods
This is an introduction to numerical methods. Topics may include error analysis, methods for solving simultaneous equations, polynomial approximation, interpolation, quadrature, solving differential equations with initial conditions and the Fast Fourier Transform.
Prerequisites: CS 202 Discrete Structures I and MATH 190 Calculus I

CS 206 Concepts of Operating Systems
Topics typically include translators, loaders, linkage editing, input/output processing, and file system organization. Other topics might include parallel processes, job scheduling, and batch and time-sharing systems.
Pre-requisite: CS 201 Assembly Language Programming (IBM)
or CS 212 Assembly Language Programming (VAX)

CS 209 Data Structures
This course covers basic data structures including stacks, queues, lists, linked trees, graphs, and hash tables; this will introduce the role of such data structures in sorting, merging, searching and hashing.
Pre-requisite: CS 102 Fundamentals of Computer Science II

CS 210 Fundamentals of Telecommunications and Networks
This course covers data communications concepts, hardware, and networks as they apply to computer systems. Topics include but are not limited to signal concepts, modulation, synchronous and asynchronous transmission, RS 232, multiplexing signals, modems, communication software protocols and network configuration, open system interconnect, and LAN products..
Pre-requisite: CS 102 Fundamentals of Computer Science II

Top of Page

CS 212 Assembly Language Programming (VAX)
This course is essentially the same as CS 201 except that it is designed for students who desire knowledge of DEC VAX assembly language programming. Note: Only one of CS 201 or CS 212 may be credited toward the Computer Science major.
Pre-requisite: CS 101 Fundamentals of Computer Science I

CS 214 Business Applications on the Microcomputer I
This is designed for students interested in using application software within a business environment. The focus of this course is Microsoft Office. Students learn to use Microsoft Word, Excel, PowerPoint and Access.

CS 215 Business Applications on the Microcomputer II
This course is a continuation of CS 214. Advanced topics are covered.
Pre-requisite: CS 214 Business Application on the Microcomputer I

CS 218 Microcomputers for Elementary Teachers
This is a general elective for elementary education majors.

CS 222 Microcomputers for Secondary Teachers
This is a general elective for secondary education majors.

CS 232 Introduction to Database Design and Distributed Search
This is a course designed as a non-technical introduction to database concepts and search methods for databases on the Internet. Topics covered may include relational databases, object-oriented databases, and sequential query languages.
Pre-requisite: CS 107 Computer and Information Systems
Top of Page

CS 240 Systems Analysis and Design I
This is a basic course in information systems, focusing on the System Development Life Cycle (SDLC). Topics include systems analysis, system environments and constraints, performance and processing, control measures, user requirements, hardware requirements, file design, project documentation and system testing.

CS 241 Systems Analysis and Design II
This course analyzes practical case problems in information systems design as part of the development of a management information system. General system design features are emphasized so that the course is independent of any particular programming language.
Pre-requisite: CS 240 Systems Analysis and Design I

CS 250 Introduction to Programming in Ada
This introduces and exposes the student to the Department of Defense sponsored language Ada, stresses the functionality of Ada as a system designed language as well as a structured special-purpose language. Topics include basic Ada syntax and semantics, program units, specification, unit bodies, types and information hiding.
Pre-requisite: CS 209 Data Structures


CS 300 Introduction to Computer Architecture
Topics for discussion may include arithmetic operations (adders, accumulators, multipliers, dividers), organization and control of computer and microcomputer architecture, machine language and systems principles, microprogramming and microprocessors, hardware-software tradeoffs, parallel computers and distributed processing, array processors, computer networks, registers, interfacing components, bus structures, input/output techniques, and priority interrupts.
Pre-requisite: CS 204 Introduction to Computer Organization

CS 302 Introduction to Programming Languages
Lecture topics typically include examination of the syntactic and semantic features of Pascal, C, Prolog, LISP, and other languages, focusing on data types, lists and trees, language features affecting static and dynamic storage, control structures and data flow, subroutine procedures, block structures and interrupts, run time considerations, string processing with language features such as those available in SNOBOL4 and Perl. (Topics covered may vary considerably from year to year.)
Pre-requisite: CS 209 Data Structures

CS 304 Operating System Design
Topics covered in this course include translators, loaders, relocation, linkage editing, interrupt handling, input/output processing, file system organization, memory management, parallel processing, job scheduling, batch systems, semaphores, multiprogramming, multiprocessors and time-sharing networks.
Pre-requisite: CS 206 Concepts of Operating Systems
Top of Page

CS 306 Database Design
This is an introduction to basic terminology associated with computer database technology. Topics covered may include classical data storage and retrieval methods, information needs within the business environment, access methods, data structures, database management systems, database design methodologies, and data normalization.
Pre-requisite: CS 202 Discrete Structures I and 209 Data Structures

CS 308 Advanced Microcomputers and Programming
Discussion topics may include the architecture of 16- and 32-bit microprocessors; machine and assembly language programming for microcomputers.
Pre-requisite: CS 201 Assembly Language Programming (IBM)
or CS 212 Assembly Language Programming (VAX)

CS 320 Intermediate Ada Language Programming
This course serves as a review of the basic syntax and semantics of Ada and covers advanced topics such as packages, encapsulation of data types and data objects, blocks, exceptions, generics, private types, records and tasking.
Pre-requisite: CS 250 Introduction to Programming in ADA

CS 350 Software Engineering I
This course embodies the general scientific principles commonly known as software engineering. It discusses the software life-cycle, using a large software system as model. Topics covered include requirements-specification analysis, requirements-type languages and specification checking using mathematical techniques. The design phase is analyzed by considering program design language techniques and fast prototyping. A study of the implementation phase, involving validation and verification methods is included. Maintenance and enhancement techniques are developed.
Pre-requisite: CS 209 Data Structures

CS 351 Software Engineering II
This course uses the concepts and techniques developed in CS 350 to allow students, working in teams, to develop nontrivial software systems. Completion of a larger project is required.
Pre-requisite: CS 350 Software Engineering

CS 355 Visual Programming
This course introduces the student to some object-oriented/event-driven language such as Visual BASIC, Visual C++, or Visual J++, focusing on the design of interactive Windows applications and graphical user interfaces (GUI).
Pre-requisite: CS 209 Data Structures
Top of Page

CS 360 Principles of Computer Graphics
This is an introduction to computer graphics hardware and software techniques and applications. Students develop and test graphics algorithms.
Pre-requisite: CS 209 Data Structures

CS365 - Advanced Java Programming
This course provides an in-depth study of Object Oriented Design (OOD) and advanced Java topics. It presents and applies a "Best Practices" approach to: exception handling, Java Database Connectivity (JDBC), multithreading and synchronization, networking, serialization and marshalling, Remote Method Invocation (RMI), Graphical User Interface (GUI) development using Swing, Enterprise JavaBeans, and server-side programming with servlets and JavaServer pages.
Pre-requisite: <Students should possess a strong fundamental knowledge of Object Oriented Design and Java>


CS 401 Introduction to Algorithms
Intensive study of the design, analysis, and verification of algorithms is pursued in this course. Applications are drawn from a wide variety of mathematical and computer science problems.
Prerequisites: CS 202 Discrete Structures I and CS 209 Data Structures

CS 402 Compiler Design
This course covers the lexical, syntactic, and semantic analysis phases of compilation. Other possible discussion topics include symbol table organization, intermediate code generation, and LL and LR parsing algorithms.
Pre-requisite: CS 209 Data Structures

CS 404 Artificial Intelligence
This is a survey of concepts and problems in artificial intelligence research. Topics include natural language processing, knowledge representation, and automatic deduction.
Pre-requisite: CS 202 Discrete Structures I

CS 405 Theory of Computability
This is a survey of theoretical models of computation-notably the Turing machine model, the Markov algorithm model and register machine model-as well as equivalence results relating those models. Considerations of efficiency (complexity theory) are also introduced with an emphasis upon the use of big-O notation to describe the time/space requirements of specific machines. Simulation software is used extensively, thereby enabling students to design and run their own abstract machines. This is an essential course for students interested in pursuing graduate study later.
Pre-requisite: CS 202 Discrete Structures I

CS 406 An Introduction to Expert Systems
Topics covered in the course include hands-on use of production based, rule-based, and frame-based expert system shells. The class discusses the current limitations of expert systems.
Pre-requisite: CS 202 Discrete Structures I

CS 408 Cooperative Education Project
This, in conjunction with a two to six month work experience, provides reinforcement of the academic program direct industrial experience. Work assignments are provided and approved by the director of the Office of Cooperative Education. Interested students who have completed at least 30 credits of course work toward the computer science major should make contact with that office.
Pre-requisite: Permission of chairperson

CS 410 Telecommunications and Networks
This is a study of data communications and networks. Topics include signal concepts, modulation, synchronous and asynchronous transmissions, multiplexing and multiplexers, modems, controllers, error detection and correction, communication software, protocols and network configurations.
Pre-requisite: CS 204 Introduction to Computer Organization

CS 417 Object-Oriented Methodologies
This course introduces students to object-oriented design and analysis contrasted with traditional approaches. The course focuses on the issues involved in the transition of object-oriented design.
Pre-requisite: CS 209 Data Structures

Cooperative Education
The Cooperative Education Program consists of a combination of work and study for undergraduate students in their sophomore, junior, and senior years. The Cooperative Education Program is designed to combine classroom learning with practical experience in an educationally beneficial way. Students may choose from a wide range of employment opportunities that enhance both their academic experience and their professional career skills.
Top of Page

Copyright ©2002. New Jersey City University
Visitors should read the NJCU Disclaimer

Web Developer: J.Velasco, Computer Science Dept.
This site has been optimized for 4.0+ browsers

Update your browser here: