Computer Science (CSCI-UA)
CSCI-UA 2 Introduction to Computer Programming (No Prior Experience) (4 Credits)
Typically offered Fall, Spring, and Summer terms
Prerequisite: Three years of high school mathematics or equivalent. No prior computer experience assumed. Students with any programming experience should consult with the computer science department before registering. Students who have taken or are taking CSCI-UA 101 will not receive credit for this course. Note: This course is not intended for computer science majors, although it is a prerequisite for students with no previous programming experience who want to continue in CSCI-UA 101. Offered every semester. 4 points.
An introduction to the fundamentals of computer programming, which is the foundation of Computer Science. Students design, write and debug computer programs. No knowledge of programming is assumed.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 3 Introduction to Computer Programming (Limited Prior Experience) (4 Credits)
This course introduces object-oriented programming, recursion, and other important programming concepts to students who already have had some exposure to programming in the context of building applications using Python. Students will design and implement Python programs in a variety of applied areas.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 4 Introduction to Web Design and Computer Principles (4 Credits)
Typically offered Fall, Spring, and Summer terms
Prerequisite: Three years of high school mathematics or equivalent. No prior computing experience is assumed. Students with computing experience should consult with the computer science department before registering. Offered every semester. 4 points.
This course introduces students to both the practice of web design and the basic principles of computer science. The practice component of the course covers not only web design but also current graphics and software tools. The principles section includes an overview of hardware and software, the history of computers, and a discussion of the impact of computers and the internet.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 60 Database Design and Implementation (4 Credits)
Typically offered Fall and Spring
Students that have successfully completed CSCI-UA 479 Data Management and Analysis are not eligible to take CSCI-UA 60 Database Design and Implementation.
Introduces principles and applications of database design and working with
data. Students use python as they prepare, analyze and work with data; SQL
to study the principles and implementations of relational databases; and
are introduced to other database paradigms such as NoSQL. Students apply
these principles to computer systems in general and in their respective
fields of interest.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 2 with a Minimum Grade of C OR CSCI-UA 3 OR CS-UH 1001 OR ENGR-UH 1000 OR CSCI-SHU 11 OR CSCI-SHU 101) AND have not taken: CSCI-UA 479.
CSCI-UA 61 Web Development and Programming (4 Credits)
Typically offered Fall and Spring
Students that have successfully completed CSCI-UA 467 Applied Internet Technology are not eligible to take CSCI-UA 61 Web Development and Programming.
This course will provide a practical approach to web technologies and programming. Students will build interactive, secure and powerful web programs. This course will cover client and server side technologies for the web.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 74 Big Ideas: Artificial Intelligence (2 Credits)
This course provides a high-level overview of the key ideas and
technologies that lead to revolutionary changes in Artificial Intelligence
and to the explosive growth in practical applications of AI. Taught by a
team of NYU's top experts in artificial intelligence lead by the Turing
award winner Yann LeCun, the course will introduce students to a range of
topics in fundamentals of AI and its key sub-areas including machine
learning, natural language processing, computer vision as well as its
applications in different domains.
Grading: CAS Pass/Fail
Repeatable for additional credit: No
CSCI-UA 101 Intro to Computer Science (4 Credits)
Typically offered Fall, Spring, and Summer terms
Students learn how to design algorithms to solve problems and how to translate these algorithms into working computer programs. Experience is acquired through programming projects in a high level programming language. CSCI-UA 101 is intended as a first course for computer science majors, and for students of other scientific disciplines. Programming assignments.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 2 with a Minimum Grade of C OR CSCI-SHU 11 with a Minimum Grade of C OR CSCI-UA 3 OR CS-UY 1114 OR Advanced Placement Examination Computer Science A >= 3 OR Advanced Placement Examination Computer Science Principles >= 4).
CSCI-UA 102 Data Structures (4 Credits)
Typically offered Fall, Spring, and Summer terms
The use and design of data structures, which organize information in computer memory. Stacks, queues, linked lists, binary trees: how to implement them in a high level language, how to analyze their effect on algorithm efficiency, and how to modify them. Programming assignments.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 101 with a Minimum Grade of C OR Advanced Placement Examination Computer Science A >= 4 OR Advanced Placement Examination Computer Science AB >= 4).
CSCI-UA 201 Computer Systems Org (4 Credits)
Typically offered Fall, Spring, and Summer terms
This course covers the internal structure of computers, machine (assembly) language programming, and the use of pointers in high-level languages. Topics include the logical design of computers, computer architecture, the internal representation of data, instruction sets, and addressing logic, as well as pointers, structures, and other features of high-level languages that relate to assembly language. Programming assignments will be both in assembly language and other languages.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 102 with a Minimum Grade of C OR CSCI-SHU 210 with a Minimum Grade of C OR CS-UH 1050 with a Minimum Grade of C OR ENGR-UH 3510).
CSCI-UA 202 Operating Systems (4 Credits)
Typically offered Fall and Spring
This course covers the principles and design of operating systems. Topics include process scheduling and synchronization, deadlocks, memory management including virtual memory, input-output and file systems. Programming assignments.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 with a Minimum Grade of C OR CENG-SHU 202 OR CS-UH 2010 OR ENGR-UH 3511).
CSCI-UA 310 Basic Algorithms (4 Credits)
Typically offered Fall, Spring, and Summer terms
Prerequisites: Data Structures (CSCI-UA 102); Discrete Mathematics (MATH-UA 120); and either Calculus I (MATH-UA 121) OR Math for Economics I (MATH-UA 211).
An introduction to the study of algorithms. Two main themes are presented: designing appropriate data structures, and analyzing the efficiency of the algorithms which use them. Algorithms for basic problems are studied. These include sorting, searching, graph algorithms and maintaining dynamic data structures. Homework assignments, not necessarily involving programming.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 330 Introduction to Computer Simulation (4 Credits)
Typically offered Spring
In this course, students will learn how to do computer simulations of such phenomena as orbits (Kepler problem and N-body problem), epidemic and endemic disease (including evolution in response to the selective pressure of a malaria), musical stringed instruments (piano, guitar, and violin), and traffic flow in a city (with lights, breakdowns, and gridlock at corners). The simulations are based on mathematical models, numerical methods, and Matlab programming techniques that will be taught in class. The use of animations (and sound where appropriate) to present the results of simulations will be emphasized.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (MATH-UA 121 with a Minimum Grade of C OR MATH-UA 132 with a Minimum Grade of C OR MATH-UH 1012Q OR MATH-UH 1013Q OR MATH-SHU 131 OR MATH-SHU 201) AND (PHYS-UA 11 with a Minimum Grade of C OR PHYS-SHU 11 OR SCIEN-UH 1124C).
CSCI-UA 380 Topics of General Interest: (4 Credits)
Typically offered Fall, Spring, and Summer terms
Detailed descriptions will be available when topics are announced. Typical offerings are Introduction to Multimedia; Database and Web Programming; Interface Design for the World Wide Web. Note: These courses cannot be used as credit towards the major sequence.
Grading: CAS Graded
Repeatable for additional credit: Yes
CSCI-UA 381 Programming Tools for the Data Scientist (4 Credits)
This course focuses on building applications in Python using a project-based learning approach. Students will design projects using important Python packages in a variety of applied areas such as textual analysis, data visualization, and others.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: DS-UA 111 AND (CSCI-UA 2 OR CSCI-UA 3 OR CS-UH 1001 OR ENGR-UH 1000 OR CSCI-SHU 11 OR CSCI-SHU 101).
CSCI-UA 421 Numerical Computing (4 Credits)
Typically offered Spring
Introduction to numerical computation: the need for floating-point arithmetic, the IEEE floating-point standard. Importance of numerical computing in a wide variety of scientific applications. Fundamental types of numerical algorithms: direct methods (e.g., for systems of linear equations), iterative methods (e.g., for a nonlinear equation), and discretization methods (e.g., for a differential equation). Numerical errors: How can you tell if you can trust your answers? The use of graphics and software packages such as Matlab. Programming assignments.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 453 Theory of Computation (4 Credits)
Typically offered Fall
This course takes a mathematical approach in studying topics in computer science, such as: regular languages and some of their representations (deterministic finite automata, non-deterministic finite automata, regular expressions); proof of non-regularity. Context free languages and pushdown automata; proofs that languages are not context free. Elements of computability theory. Brief introduction to NP-completeness.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 OR CS-UH 2010 OR ENGR-UH 3511 OR CENG-SHU 202) AND (CSCI-UA 310 OR CS-UH 1052 OR ENGR-UH 3510 OR CSCI-SHU 220).
CSCI-UA 467 Applied Internet Technology (4 Credits)
Students that successfully complete CSCI-UA 467 Applied Internet Technology are not eligible to take CSCI-UA 61 Web Development and Programming.
Applied Internet Technology is a practical introduction to creating modern web
applications. It covers full-stack (that is, every aspect of building a database driven web application: server programming, database implementation, frontend markup, styling and interactivity) web development. It includes topics such as database and data model design, web application architecture, separation of logic and presentation, handling user input and processing form data, managing asynchronous processes, strategies for creating real-time web applications, and handling client-side interactivity.
Students will use current server and client-side web frameworks and libraries to build dynamic, data-driven sites. Various applications to support development will also be introduced, such as version control, static analysis tools, and build systems.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 with a Minimum Grade of C OR CS-UH 2010 OR ENGR-UH 3511 OR CENG-SHU 202).
CSCI-UA 469 Natural Language Processing (4 Credits)
Natural Language Processing applies computational and linguistic knowledge to the processing of natural languages (English, Chinese, Spanish, Japanese). Applications include: machine translation, information extraction, information retrieval, and others. On the one hand, the class will include the modeling and representation of linguistic phenomena. On the other, it will cover methods for applying this knowledge using both manual rules and machine learning. Sample
topics include: formal languages, hidden Markov models, part of speech tagging, vector-based methods, shallow and full parsing, semantic role labeling, information extraction and machine translation. Students will complete programming assignments (POS-tagging, Information Extraction, etc.) and group final projects.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 470 Object Oriented Programming (4 Credits)
Typically offered Fall
Object-oriented programming has emerged as a significant software development methodology. This course introduces the important concepts of object-oriented design and languages, including code reuse, data abstraction, inheritance, and dynamic overloading. It covers in depth those features of Java and C++ that support object-oriented programming and gives an overview of other object-oriented languages of interest. Significant programming assignments, stressing object-oriented design.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 with a Minimum Grade of C OR CS-UH 2010 OR ENGR-UH 3511 OR CENG-SHU 202).
CSCI-UA 472 Artificial Intelligence (4 Credits)
Typically offered Fall and Spring
Many cognitive tasks that people can do easily and almost unconsciously have proven extremely difficult to program on a computer. Artificial intelligence tackles the problem of developing computer systems that can carry out these tasks. Focus is on three central areas in AI: representation and reasoning, machine learning, and natural language processing.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 with a Minimum Grade of C OR CS-UH 2010 OR CENG-SHU 202) AND (CSCI-UA 310 with a Minimum Grade of C OR CS-UH 1052 OR ENGR-UH 3510 OR CSCI-SHU 220).
CSCI-UA 473 Fundamentals of Machine Learning (4 Credits)
This exciting and fast-evolving field of computer science has many recent consumer applications (e.g., Microsoft Kinect, Google Translate, IPhone's Siri, digital camera face detection, Netflix recommendations, Google news) and applications within the sciences and medicine (e.g., predicting protein-protein interactions, species modeling, detecting tumors, personalized medicine). Students learn the theoretical foundations and how to apply machine learning to solve new problems.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 474 Software Engineering (4 Credits)
An intense hands-on study of practical techniques and methods of software engineering. Topics include advanced object-oriented design, design patterns, refactoring, code optimization, universal modeling language, threading, user interface design, enterprise application development, and development tools. All topics are integrated and applied during the semester-long group project. The aim of the project is to prepare students for dynamics in a real workplace. Members of the group meet on a regular basis to discuss the project and to assign individual tasks. Students are judged primarily on the final project presentations.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 with a Minimum Grade of C OR CS-UH 2010 OR ENGR-UH 3511 OR CENG-SHU 202).
CSCI-UA 475 Predictive Analytics (4 Credits)
Predictive analytics is the art and science of extracting useful information from historical data and present data for the purpose of predicting future trends. In this course, students will be introduced to the phases of the analytics life-cycle and will gain an understanding of a variety of tools and machine learning algorithms for analyzing data and discovering forward insights. Several techniques will be introduced including: data preprocessing techniques, data reduction algorithms, data clustering algorithms, data classification algorithms, uplifting algorithms, association rules, data mining algorithms, recommender systems, and more. This course aims to provide students with skills of the new generation of data scientists that will allow them to structure, analyze and derive useful insights from
data that could help make better decisions.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 476 Processing Big Data for Analytics Applications (4 Credits)
This course introduces platforms, tools, and the architectures that facilitate scalable management and processing of vast quantities of data. We will explore open source tools enabling the efficient acquisition, storage, and processing of Big Data. Students will learn about distributed storage solutions such as the Apache Hadoop Distributed File System (HDFS), which supports storage of Big Data. Students will gain hands-on experience with distributed processing Apache solutions such as Hadoop MapReduce, HBase, Hive, Impala, Pig, core Spark, Spark SQL, and Spark Streaming. Other Apache big data tools covered are Oozie, Zookeeper, Flume, and Kafka.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 OR CS-UH 2010 OR ENGR-UH 3511 OR CENG-SHU 202) AND (CSCI-UA 310 OR CS-UH 1052 OR CSCI-SHU 220).
CSCI-UA 478 Intro to Cryptography (4 Credits)
Typically offered Fall and Spring
An introduction to the principles and practice of cryptography and its application to network security. Topics include symmetric-key encryption (block ciphers, modes of operations, AES), message authentication (pseudorandom functions, CBC-MAC), public-key encryption (RSA, ElGamal), digital signatures (RSA, Fiat-Shamir), and authentication applications (identification, zero-knowledge).
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 310 with a Minimum Grade of C OR CS-UH 1052 OR ENGR-UH 3510 OR CSCI-SHU 220).
CSCI-UA 479 Data Management and Analysis (4 Credits)
Typically offered Fall and Spring
Students that successfully complete CSCI-UA 479 Data Management and Analysis are not eligible to take CSCI-UA 60 Database Design and Implementation.
Extracting, transforming and analyzing data in myriad formats. Using traditional relational databases as well as non-relational databases to store, manipulate, and query data. Students will learn how to work with data by writing custom programs, creating queries, and using current data analysis tools and libraries… all on a wide array of data sets. Additional related topics will be covered, such as data modeling, cloud databases, and API programming.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 102 with a Minimum Grade of C OR CS-UH 1050 OR ENGR-UH 3510 OR CSCI-SHU 210).
CSCI-UA 480 Special Topics: (4 Credits)
Typically offered Fall and Spring
Each semester, multiple special topics courses are offered, covering
topics that may not be offered on a regular basis. Prerequisites vary and
are determined by topic.
Extracting, transforming and analyzing data in myriad formats with
traditional relational databases as well as non-relational databases. Data
modeling, cloud databases, and API programming. Garnering insights using
Python and current data analysis tools and libraries.
Grading: CAS Graded
Repeatable for additional credit: Yes
Prerequisites: (CSCI-UA 201 OR CS-UH 2010 OR ENGR-UH 3511 OR CENG-SHU 202).
CSCI-UA 490 Spec Tpcs in Prog Lang: (4 Credits)
Covers topics in programming languages at an advanced level. Detailed course descriptions are available when topics are announced.
Grading: CAS Graded
Repeatable for additional credit: Yes
Prerequisites: CSCI-UA 201 with a Minimum Grade of C.
CSCI-UA 520 Undergraduate Research (4 Credits)
Typically offered Fall
The student will perform computer science research that is supervised by a faculty member actively engaged in research and which may lead to results publishable in the computer science literature. A substantial commitment to this work will be expected of the student. The research project may be one or two semesters, to be determined in consultation with the faculty supervisor. Students taking this course for honors credit will be required to write an honors thesis. All other students will need to submit a write-up of the research results at the conclusion of the project.
Grading: CAS Graded
Repeatable for additional credit: Yes
Prerequisites: CSCI-UA 202 with a Minimum Grade of C.
CSCI-UA 521 Undergraduate Research (4 Credits)
Typically offered Spring
The student will perform computer science research that is supervised by a faculty member actively engaged in research and which may lead to results publishable in the computer science literature. A substantial commitment to this work will be expected of the student. The research project may be one or two semesters, to be determined in consultation with the faculty supervisor. Students taking this course for honors credit will be required to write an honors thesis. All other students will need to submit a write-up of the research results at the conclusion of the project.
Grading: CAS Graded
Repeatable for additional credit: Yes
Prerequisites: CSCI-UA 202 with a Minimum Grade of C.
CSCI-UA 897 Internship in Computer Science (1-4 Credits)
Restricted to declared computer science majors. Does not count toward the major or minor, but does count toward the CAS degree. Offered every semester. 1 to 4
credits.
An internship in computer science is an excellent complement to formal
course work. We strongly recommend that students have some practical
training along with their classroom experience, so they can explore
different career options and gain hands-on experience. An internship is
for majors only, and students must have maintained an overall GPA of 3.0
and a computer science GPA of 3.5. The internship will be graded.
Grading: CAS Pass/Fail
Repeatable for additional credit: Yes
CSCI-UA 898 Internship in Computer Science (1-4 Credits)
An internship in computer science is an excellent complement to formal course work. We strongly recommend that students have some practical training along with their classroom experience, so they can explore different career options and gain hands-on experience. An internship is for majors only, and students must have maintained an overall GPA of 3.0 and a computer science GPA of 3.5. The internship will be graded.
Grading: CAS Pass/Fail
Repeatable for additional credit: Yes
CSCI-UA 997 Independent Study (1-4 Credits)
Typically offered Fall and Summer terms
Prerequisite: Permission of the department. Students majoring in the department who have maintained a general average of 3.00 and an average of 3.50 in computer science and who, in the opinion of the department, have the ability and the need for work in topics not included in the listed courses are permitted to work on an individual basis, under the supervision of a member of the department. The independent study must be approved by the department at registration. Students are expected to spend about 3 to 6 hours a week on assigned projects for their study. The project must be scheduled for completion within the semester.
Grading: CAS Graded
Repeatable for additional credit: Yes
CSCI-UA 998 Independent Study (1-4 Credits)
Typically offered Spring and Summer
Prerequisite: Permission of the department. Students majoring in the department who have maintained a general average of 3.00 and an average of 3.50 in computer science and who, in the opinion of the department, have the ability and the need for work in topics not included in the listed courses are permitted to work on an individual basis, under the supervision of a member of the department. The independent study must be approved by the department at registration. Students are expected to spend about 3 to 6 hours a week on assigned projects for their study. The project must be scheduled for completion within the semester.
Grading: CAS Graded
Repeatable for additional credit: Yes
CSCI-UA 9002 Introduction to Computer Programming (No Prior Experience) (4 Credits)
Prerequisite: Three years of high school mathematics or equivalent. No
prior computer experience assumed. Students with any programming experience
should consult with the computer science department before registering.
Students who have taken or are taking CSCI-UA 101 will not receive credit
for this course. Note: This course is not intended for computer science
majors, although it is a prerequisite for students with no previous
programming experience who want to continue in CSCI-UA 101.
An introduction to the fundamentals of computer programming, which is the
foundation of Computer Science. Students design, write and debug computer
programs. No knowledge of programming is assumed.
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 9102 Data Structures (4 Credits)
The use and design of data structures, which organize information in
computer memory. Stacks, queues, linked lists, binary trees: how to
implement them in a high level language, how to analyze their effect on
algorithm efficiency, and how to modify them. Programming assignments.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: CSCI-UA 101.
CSCI-UA 9201 Computer Systems Org (4 Credits)
Typically offered Fall
This course covers the internal structure of computers, machine (assembly)
language programming, and the use of pointers in high-level languages.
Topics include the logical design of computers, computer architecture, the
internal representation of data, instruction sets, and addressing logic, as
well as pointers, structures, and other features of high-level languages
that relate to assembly language. Programming assignments will be both in
assembly language and other languages.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 102 OR CSCI-SHU 210 OR CS-UH 1050 OR CS-UY 1134).
CSCI-UA 9467 Applied Internet Technology (4 Credits)
Students that successfully complete CSCI-UA 467 Applied Internet Technology
are not eligible to take CSCI-UA 61 Web Development and Programming.
Applied Internet Technology is a practical introduction to creating modern
web
applications. It covers full-stack (that is, every aspect of building a
database driven web application: server programming, database
implementation, frontend markup, styling and interactivity) web
development. It includes topics such as database and data model design, web
application architecture, separation of logic and presentation, handling
user input and processing form data, managing asynchronous processes,
strategies for creating real-time web applications, and handling
client-side interactivity.
Students will use current server and client-side web frameworks and
libraries to build dynamic, data-driven sites. Various applications to
support development will also be introduced, such as version control,
static analysis tools, and build systems.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CS-UY 2214 OR CSCI-UA 201 OR CENG-SHU 202 OR CS-UH 2010 OR CSCI-UA 9201).
CSCI-UA 9472 Artificial Intelligence (4 Credits)
There are many cognitive tasks that people can do easily and
almost unconsciously but that have proven extremely difficult to program on
a computer. Artificial intelligence is the problem of developing computer
systems that can carry out these tasks. We will focus on three central
areas in AI: representation and reasoning, machine learning, and natural
language processing.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CS-UH 1052 OR CS-UY 2413 OR ENGR-UH 3510 OR CSCI-UA 310 OR CSCI-SHU 220) AND (CS-UH 2010 OR CS-UY 2214 OR CSCI-UA 201 OR CENG-SHU 202).
CSCI-UA 9473 Fundamentals of Machine Learning (4 Credits)
Machine learning is an exciting and fast-moving field of computer science
with many recent consumer applications (e.g., Microsoft Kinect, Google
Translate, Iphone's Siri, digital camera face detection, Netflix
recommendations, Google news) and applications within the sciences and
medicine (e.g., predicting protein-protein interactions, species modeling,
detecting tumors, personalized medicine). This course introduces
undergraduate computer science students to the field of machine learning.
Students learn about the theoretical foundations of machine learning and
how to apply machine learning to solve new problems. Assuming no prior
knowledge in machine learning, the course focuses on two major paradigms in
machine learning which are supervised and unsupervised learning. In
supervised learning, we learn various methods for classification and
regression. Dimensionality reduction and clustering are discussed in the
case of unsupervised learning
Grading: CAS Graded
Repeatable for additional credit: No
CSCI-UA 9479 Data Management and Analysis (4 Credits)
Students that successfully complete CSCI-UA 479 Data Management and
Analysis are not eligible to take CSCI-UA 60 Database Design and
Implementation.
Extracting, transforming and analyzing data in myriad formats. Using
traditional relational databases as well as non-relational databases to
store, manipulate, and query data. Students will learn how to work with
data by writing custom programs, creating queries, and using current data
analysis tools and libraries… all on a wide array of data sets. Additional
related topics will be covered, such as data modeling, cloud databases, and
API programming.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 102 OR CS-UH 1050 OR ENGR-UH 3510 OR CSCI-SHU 210 OR CS-UY 1134).
CSCI-UA 9480 Special Topics: (4 Credits)
Technology increasingly permeates every aspect of our lives, including communication, finance and health. The security of the computer systems that enable these services has become a critical issue. This course will cover basic principles of computer security and security
engineering. It will introduce fundamental computer security concepts, principles, and techniques. It will also cover notions of real-world cryptography, the mathematical building blocks that underlie any digital security construction. This course will focus on security from an attacker’s perspective (threat modeling) and the defender’s perspective (building and deploying secure systems). Specific topics will include operating system security, network security, web security, applied cryptography, security economics and security psychology. Course projects will focus both on writing secure code and exploiting insecure code.
Grading: CAS Graded
Repeatable for additional credit: No
Prerequisites: (CSCI-UA 201 OR CSCI-SHU 311 OR CS-UH 2010 OR CS-UY 2214).