General overview of the many facets of computer science and information technology: Data, hardware, software, networks. System software in including operating systems and programming environments. Software engineering; program development using data structures, algoriths, files, and databases. Exposure to other topics and issues in computer science, such as data compression, security, theory of computation, computational complexity. Prerequisites: MATH 0012 or appropriate placement.
Problem solving using computers. The design and implementation of computer programs. Major areas and issues in computer science including social and ethical concerns. Problem solving and pseudocode. Formal specification and verification. Basic software engineering techniques and software reuse. Data structures. Structured types: arrays, records, files. Objects and methods. Programming in a high-level language, such as C++ or Java. Corequisite: MATH 1015.
Major issues, areas, and applications of computer science. Data structures and algorithms. Linked lists, trees and graphs. Stacks, queues, and heaps. Object-oriented programming. Problem solving and software engineering. Algorithm design, induction, recursion, and complexity. Social, economic, and ethical concerns. Programming in a high-level language, such as C++ or Java. Prerequisite: CSAS 1111. Corequisite: MATH 1501/1401.
A course in programming in C++ with emphasis on applications to the sciences and to numeric algorithms. Basics of software development (variables, control structures, functions), data structures (records, arrays, lists), dynamic structures (pointers, linked lists) and principles of object-oriented programming (fields and methods, classes, inheritance). The course will focus on creating programs for topics of interest in the natural sciences. Corequisite: MATH 1015 or equivalent.
Programming skills are important to virtually every profession. Professionals must make decisions on how to achieve goals by deciding what steps are necessary. This course is an introduction to computer programming that teaches students how to make plans, to organize their thoughts, to pay attention to detail, and to be self-critical. The main focus of the course is the design process that leads students from a problem statement and a blank page to a well-organized solution. Topics include the processing of simple forms of data, the processing of arbitrarily large data, and the process of abstraction. This course assumes no prior computer programming experience. Corequisite Math 1014, 1015, 1401 or 1501.
This course continues the study of the design and the programming processes started in CSAS 1114. Building on the abstraction skills acquired in CSAS 1114, the course focuses on new programming design techniques such as generative recursion, tail-recursion, and the changing of state variables through the use of assignment. The disciplined introduction to assigment prepares students to study modern object-oriented design and programming. Prerequisite: CSAS 1114, Corequisite: MATH 1015, 1501 or 1401.
This course is an introduction to object-oriented design and programming. Building on the knowledge gained in CSAS 1114-1115 students learn to design a system of classes to represent information. Given a system of classes and a piece of information students will be able to create objects and represent this information with data. Conversely, given an instance of a class in the system, students will be able to interpret this object as information in the real world. Topics include varieties of data, functional methods, and abstraction with classes. Prerequisite: CSAS 1114, MATH 1501/1401.
This continues the investigation of object-oriented design and programming started in CSAS 2123. Topics include circular objects, imperative methods, abstraction over data definitions, and the use of commercial programming environments for object-oriented programs. By the end of this course, students will have a solid grasp on the principles and practice of object-oriented programming. Prerequisite: CSAS 2143.
This course introduces the basic design of computing systems: CPU, memory, input and output. In addition, it provides a complete introduction to assembly language:the basics of an instruction set plus experience in assembly language programming using a RISC architecture. During the course student will gain experience using system calls and interrupt-driven programming emphasizing the interaction with the operating system. Other topics include: machine representation of integers, characters, floating point numbers, and virtual memory. Prerequisite: CSAS 1115, MATH 1611, or permission of instructor.
This course discusses data structures such as arrays, stacks, queues, lists, trees, and graphs and the algorithms that manipulate these structures. Algorithm analysis for the cost of time and space is introduced. Students will learn essential tools for designing efficient software applications, needed in all application areas of computer science, such as industrial and scientific computation and database management. Prerequisite: CSAS 1114, MATH 1611.
This course introduces the foundations of applied data mining. There is a need for extracting useful information from raw data in fields such as social and health sciences, business, the natural sciences and engineering. This course covers the fundamental ideas and algorithms of data mining. Furthermore, it teaches applying data mining techniques in order to extract useful information from data. Standard software for data mining will be used. The course is intended for any student desiring an introduction to data mining.
Signature III course with substantial computer science or related content, typically interdisciplinary and perhaps team-taught, taught on an experimental basis with topics to be determined by the instructor(s) in cooperation with the University Core Curriculum process. See Co-op Adviser.Crosslisted with PSYC 3698 and CORE 3490 Engaging the World
See Co-op Adviser.
Interdependence of operating systems and architectures. System structure and system evaluation. Emphasis on memory management: addressing, virtual memory, paging, segmentation and secondary storage; processes management: scheduling, context switching, priority, concurrency and deadlock; and resource management: memory, secondary storage, buses and printers. Prerequisite: CSAS 2122.
Introduction to principles of programming languages and nonprocedural, non-object-oriented programming. Programming language concepts, including higher-order functions, first-class functions, recursion, tail-recursion and iteration, tree-recursion; issues of pure versus impure languages in relation to performance, implementation and ease of abstraction; environments, parameter passing, and scoping. Structure, the syntax, and implementation of languages, illustrated using interpreters. Emphasis on programming in a language such as Scheme or Prolog; individual programming assignments and team project. Prerequisite: CSAS 2122.
The course presents an overview of topics in and related to logic, including development of formal logic and an axiomatic first-order logic. It explores the history of mathematics and logic in the Catholic Intellectual and wider Western Traditions, as well as the mutual interactions of mathematics, philosophy and religion. It then considers extensions of first-order logic, and provable limits to knowledge: the three unsolvable problems of Euclidean geometry, and examples from Gödel, Turing, Arrow, quantum physics, and others
Principles of computer and networking. The layered model of a computer network and its implementation. Standard protocols. Applications. Mathematical principles and theory. Team and individual programming projects. Prerequisite: CSAS 2122 or permission of instructor.
Special topics and problems in various branches of computer science. Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Different definitions of and approaches to artificial intelligence. Problems, problems spaces and search techniques; special emphasis on heuristic search, including hill climbing, best-first search and A*. The role of knowledge and knowledge representation issues. Programming and AI application. Introductory survey paper. Prerequisites: CSAS 3113, MATH 2611.
Introduction to the theory of finite state automata and their equivalence to regular expressions and regular grammars; pushdown automata and context-free languages; context-sensitive grammars and Turing machines; determinism and nondeterminism; issues of complexity including P and NP; and issues of computability including Turing computable versus Turing decidable, the Halting problem and other incomputable problems. Prerequisites: CSAS 2122, MATH 2611.
Modern relational databases. Relational algebra, views and queries, normal forms and normalization, tuning and optimization. The entity-relationship model and database design. Overview of other approaches, especially object-oriented databases, data warehouses and data mining, distributed databases and very large applications. Group project, both design and implementation, in an SQL-based environment, such as an SQL Workbench. Prerequisites: CSAS 2121, MATH 1611 or permission of department chair. MATH 2611 recommended.
The software universe and the role of software engineering. Project, process, and product. Approaches to system and software engineering; software architectures, including component-oriented and service-oriented architectures. Traditional and object-oriented approaches to software engineering; the modern approach, modeling languages and patterns; agile and extreme programming. Requirements elicitation and analysis and system specification; risk analysis; use cases. Knowledge management for requirements elicitation and risk analysis. Design of a software system using patterns and incremental iterative refinement. Complementary approaches, including aspects and interfaces with databases. Security and other non-behavioral considerations. Development of an initial prototype.
Design and implementation of a software application. Design patterns and aspects. User and component interfaces. Approaches for software quality assurance: validation and verification, testing, static analysis and model checking. Verification, validation, and testing. Approaches to verification – theorem proving, model checking, and others. Principles and theory of testing; white box and black box testing. Unit, integration, stress, and acceptance tests. Test metrics and test coverage. Testing tools. Maintenance: corrective, preventative, adaptive, and perfective changes. Software configuration management. Technical and business management of large software projects. Technical and business metrics. Cost estimation, scheduling, and staffing – connection to risk analysis. Subcontractors, vendors and collaborators; outsourcing in software projects. Software engineering for web applications and real-time systems.
Computer Graphics Visualization is used throughout society, including science, engineering, enterprises, politics, art, etc., for visualizing data and processes. Visualization is crucial for mining usable information from the ever increasing amounts of data and ever more complex procedural relationships of today’s society. This course introduces the foundations for computer graphics visualization: basics of visual thinking and perception, techniques for visualization, such as maps, time series, trees, graphs, etc., and applications, such as in medical imaging, biochemistry, social sciences, etc. The course also teaches developing visualizations using a standard programming system. Visualizations will be demonstrated using online material, such as Many Eyes or Google Maps. Prerequisite: CSAS 4121 or permission or instructor.
Home to nearly 10,000 undergraduate and graduate students, Seton Hall has reached new heights in academic excellence, faculty research and student success. Ready to take the next steps on your academic or career path?
Print this page.
The PDF will include all information unique to this page.
A PDF of the entire 2022-2023 catalog.
A PDF of the entire 2022-2023 catalog.