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 1092  Error Messaging in FSM  (2 Credits)  
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)  
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.
CSAS 1115  Intro to Program Design II  (3 Credits)  
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.
Prerequisites: CSAS 1114  
CSAS 2123  Intro Object-Orient Design I  (3 Credits)  
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.
Prerequisites: CSAS 1115 and MATH 1611  
CSAS 2124  Intro Object-Orient Design II  (3 Credits)  
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.
CSAS 2125  Computer Systems-Assembly Prog  (3 Credits)  
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.
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 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.
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)  
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.
Prerequisites: CSAS 2124 and CSAS 2126  
CSAS 3113  Organization of Programming Languages  (3 Credits)  
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.
Prerequisites: 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, MATH 2611.
Prerequisites: CSAS 3113 (may be taken concurrently) and MATH 2611 (may be taken concurrently)  
CSAS 4113  Automata Computability and Formal Languages  (3 Credits)  
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.
Prerequisites: CSAS 2124 and 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 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?