CSAS - Computer Science (CSAS)

CSAS 1015  Foundations of Computer Science  (3 Credits)  
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.
Prerequisites: MATH 0012 (may be taken concurrently)  
CSAS 1111  Introduction to Computer Science I  (4 Credits)  
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.
CSAS 1112  Introduction to Computer Science II  (4 Credits)  
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.
Prerequisites: CSAS 1111A (may be taken concurrently) and (MATH 1501 (may be taken concurrently) or MATH 1401 (may be taken concurrently))  
CSAS 1113  Computing for Science Majors  (4 Credits)  
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.
CSAS 1114  Intro to Program Design I  (3 Credits)  
This course is an introduction to systematic program design and computer programming. The course teaches students how to make plans, to organize their thoughts, to pay attention to detail, and to be self-critical. The focus of the course is the design process that leads students from a problem statement and a blank page to a well-organized solution using the development of a large software system such as a video game. Topics include primitive data processing, compound data of finite size processing, compound data of arbitrary size processing, type-driven design, the process of abstraction, and distributed programming. This course assumes no prior computer programming experience.
CSAS 1115  Intro to Program Design II  (3 Credits)  
This course continues the study of program design 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, accumulator recursion, tail-recursion, and mutation, and includes distributed programming. The disciplined introduction to mutation prepares students to study modern object-oriented design and programming. The course includes a major team project such as the development of a video game.
Prerequisites: CSAS 1114  
CSAS 2123  Intro Object-Orient Design I  (3 Credits)  
This course is an introduction to object-oriented design and programming, with a commercial programming language such as Java. Building on the knowledge gained in CSAS 1114-CSAS 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.
Prerequisites: CSAS 1115 and MATH 1611  
CSAS 2124  Intro Object-Orient Design II  (3 Credits)  
This course continues the investigation of object-oriented design and programming started in CSAS 2123, using a commercial programming language such as Python. 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. The course includes a project.
Prerequisites: CSAS 2123  
CSAS 2125  Computer Systems-Assembly Prog  (3 Credits)  
This course introduces the basic design of computing systems: CPU, memory, instruction processing and interrupts, and input and output. In addition, it provides an introduction to assembly language and the compilation process through experience in assembly language programming. During the course, the student will see 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. Overview of modern architectures and parallelism, including the general-purpose use of the Graphics Programming Unit (GPU).
Prerequisites: (CSAS 1115 MATH 1611)  
CSAS 2126  Data Structures and Algorithms  (3 Credits)  
This course discusses data structures such as arrays, stacks, queues, lists, trees, and graphs and the algorithms that manipulate these structures. Algorithm analysis for asymptotic complexity with respect to space and time are 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. The course exposes the students to information management in applications. It covers the local and global impacts of computing solutions on individuals, organizations, and society.
CSAS 2193  Topics/Applled Modern Compu I  (3 Credits)  
CSAS 2293  Topics/Applied Modern Comp II  (3 Credits)  
CSAS 3010  Data Mining  (3 Credits)  
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.
CSAS 3085  Sp Top - Robotics and the Mind  (3 Credits)  
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
CSAS 3092  Independent Study  (2 Credits)  
CSAS 3093  Computer Science Internship  (3 Credits)  
CSAS 3094  Computer Science Co-Op I  (3 Credits)  
See Co-op Adviser.
CSAS 3111  Operating Systems and Computer Architecture  (3 Credits)  
The course is an introduction to operating systems, such as Linux, Unix, Windows, and Android, which provide the foundations for executing application software. The course studies computing-based systems at varying levels of abstraction and explains how software and operating systems interface with the underlying computing architectures. The course covers topics such as evolution of microprocessors and operating systems, process control, concurrency of processes and threads, memory management, resource scheduling, I/O management, file storage, and principles and practices of security and privacy in computing. The course exposes the students to networking and communication, and includes a major team project.
Prerequisites: CSAS 2124 and CSAS 2126  
CSAS 3113  Organization of Programming Languages  (3 Credits)  
Introduction to principles of programming languages and their implementation. Concepts introduced include the implementation of interpreters based on the syntax of a programming language, higher-order functions, recursion, tail-recursion, iteration, and mutation; issues of pure versus impure languages in relation to performance, implementation, and ease of abstraction; environments, parameter passing, and scoping. The course emphasizes programming in a modern programming language, individual and team programming assignments, and a major project that requires integration and application of knowledge and skills acquired in earlier course work.
Prerequisites: CSAS 2124 and CSAS 2126  
CSAS 3204   Logic and the Limits to Know  (3 Credits)  
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
Prerequisites: PHIL 1104 or PHIL 1204  
CSAS 3211  Networks and Networking  (3 Credits)  
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.
Prerequisites: CSAS 2125  
CSAS 3411  Graph Algorithms  (3 Credits)  
This course introduces discrete graphs and their applications, with emphasis on applications. It covers the fundamental structures of and algorithms on discrete graphs, teaching students how to use graph algorithms to extract useful information from graph and network data, how to model complex processes using graph theoretic techniques, and how to investigate and validate resulting models in order to test graph models and make predictions.
Prerequisites: MATH 1611 and (MATH 2813 or MATH 2814)  
CSAS 4063  Special Topics in Comp Science  (3 Credits)  
CSAS 4066  Special Topics in Comp Sciend  (3 Credits)  
CSAS 4086  Spec Topics-Comp Science  (3 Credits)  
Special topics and problems in various branches of computer science. Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: CSAS 2126  
CSAS 4087  Special Topics Computer Scienc  (3 Credits)  
CSAS 4091  Ind Study-Computer Science  (1 Credit)  
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: CSAS 2122 (may be taken concurrently)  
CSAS 4093  Independent Study-Comp Science  (2 Credits)  
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: CSAS 2122 (may be taken concurrently)  
CSAS 4094  Independent Study-Comp Science  (2 Credits)  
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: CSAS 2122 (may be taken concurrently)  
CSAS 4095  Independent Study  (3 Credits)  
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
Prerequisites: CSAS 4096 (may be taken concurrently)  
CSAS 4096  Independent Study-Comp Science  (3 Credits)  
Prerequisites: At least five CSAS courses, including CSAS 2122, or permission of chair.
CSAS 4111  Introduction to Artificial Intelligence  (3 Credits)  
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 (may be taken concurrently) and MATH 2611 (may be taken concurrently)  
CSAS 4113  Automata Computability and Formal Languages  (3 Credits)  
The course introduces formal languages and automata theory through a programming-based approach. The course introduces regular languages, context-free languages, context-sensitive languages, and computability. Topics include finite state automata, regular expressions, and regular grammars; pushdown automata and context-free languages; context-sensitive grammars and Turing machines; determinism and nondeterminism; programming-based construction proofs, issues of complexity including P and NP; and computability issues including undecidable problems such as the halting problem and reduction proofs. The course includes individual programming assignments, team programming projects and a major team project that requires integration and application of knowledge and skills acquired in earlier course work. Course instruction covers the necessary mathematical foundations of automata and computational theory that are not covered by prior courses.
Prerequisites: CSAS 2126  
CSAS 4115  Theory of Relational Databases  (3 Credits)  
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.
Prerequisites: CSAS 2124 and MATH 1611 and CSAS 2126  
CSAS 4117  Software Engineering  (3 Credits)  
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.
Prerequisites: CSAS 2124 and CSAS 2126  
CSAS 4118  Software Engineering II  (3 Credits)  
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.
Prerequisites: CSAS 2124 and CSAS 4117  
CSAS 4122  Computer Graphic Visualization  (3 Credits)  
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.
Prerequisites: CSAS 4121  
CSAS 4201  Approaches to Big Data  (3 Credits)  
CSAS 4202  Honors Research Project I  (3 Credits)  
CSAS 4211  Approaches to Big Data  (3 Credits)  
A survey of the field of “Big Data” and its connections to data analysis and visualization, to databases and data warehouses, and to document repositories. Application areas selected from among business, government, science, health, medicine and allied fields, social science, digital humanities, and software engineering, and the characteristic uses and challenges of Big Data in these areas are considered. Techniques including data mining and visualization, programming languages and development processes such as Hadoop, statistical approaches, and implementations such as Telemet. Concerns in development and use, including ethics, security, privacy, and intellectual property, on the one hand, and concurrency and distribution, operating systems, and the cloud, on the other; applications of Big Data in addressing these concerns. Issues in software engineering and collaboration for Big Data applications. Guest lectures and/or on-line presentations by on-campus and off-campus experts in Big Data or application areas.
CSAS 4911  Big Data Analytics  (3 Credits)  
The course covers algorithms and software frameworks that are used for automating data analysis of big data. The course topics include Python for data science, big data stack, data analytics architecture, MapReduce, Hadoop and case studies such as recommendation engines. The course teaches practical skills in implementing big data analytics using industry-standard software, such as Python and MapReduce, and cloud computing services. Cross-listed with DASC 6911. Prerequisites: DASC 3010 and (MATH 2111 or MATH 2711) and have at least junior level and demonstrate basic Python programming skills (such as CSAS 4124 or ISCI 1117.) 3 credits.

Apply to Seton Hall

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?