Subject: CSDS
Term: Summer 2025
CSDS 132: Programming in Java (800/2740)
MT 01:00-04:00 PM Jun 02-Jul 30
Ozguner, O
An in-depth survey of modern programming language features, computer programming and algorithmic problem solving with an emphasis on the Java language. Computers and code compilation; conditional statements, subprograms, loops, methods; object-oriented design, inheritance and polymorphism, abstract classes and interfaces; types, type systems, generic types, abstract data types, strings, arrays, linked lists; software development, modular code design, unit testing; strings, text and file I/O; GUI components, GUI event handling; threads; comparison of Java to C, C++, and C#.
Offered as CSDS 132 and ECSE 132.
CSDS 132: Programming in Java (810/2762)
W 01:00-04:00 PM Jun 02-Jul 30
Ozguner, O
An in-depth survey of modern programming language features, computer programming and algorithmic problem solving with an emphasis on the Java language. Computers and code compilation; conditional statements, subprograms, loops, methods; object-oriented design, inheritance and polymorphism, abstract classes and interfaces; types, type systems, generic types, abstract data types, strings, arrays, linked lists; software development, modular code design, unit testing; strings, text and file I/O; GUI components, GUI event handling; threads; comparison of Java to C, C++, and C#.
Offered as CSDS 132 and ECSE 132.
CSDS 221: Full Stack Web Development (800/2739)
M 07:00-09:00 PM Jun 02-Jul 30
Izadnegahdar, D
An introduction to full stack web development, the course provides foundations in HTML, CSS, and programming in JavaScript. The course introduces front-end technologies and APIs for creating interactive web applications such as Bootstrap, React.js, and Progressive Web Apps, back-end technologies and APIs for creating a web server such as Node.js and Express.js, and database integration technologies such as MySQL and MongoDB. Some background in algorithms, data structures, and databases is helpful but not required.
CSDS 221: Full Stack Web Development (810/2761)
W 07:00-09:00 PM Jun 02-Jul 30
Izadnegahdar, D
An introduction to full stack web development, the course provides foundations in HTML, CSS, and programming in JavaScript. The course introduces front-end technologies and APIs for creating interactive web applications such as Bootstrap, React.js, and Progressive Web Apps, back-end technologies and APIs for creating a web server such as Node.js and Express.js, and database integration technologies such as MySQL and MongoDB. Some background in algorithms, data structures, and databases is helpful but not required.
CSDS 225: Current Issues in Artificial Intelligence, For Better or Worse (800/2785)
MR 06:00-08:30 PM Jun 02-Jul 09
Loui, R
An exploratory seminar for technical and non-technical students on autonomous systems and automatic decision-making software. Prompt engineering will be examined, as well as systems and policies that detect, mitigate or combat AI. This course emphasizes technology and policy. Within assistive, generative, and proxy decision deployments, we consider recurring technical problems such as non-determinism, robustness, risk, bias, stale and erroneous data, small worlds and insufficiently expressive features, overfitting, polysemy, explanation, and verification. Perspectives include engineering problem-solving, law, policy, and management. National concerns of labor, defense technology, and education also kept in focus. The class is open to all majors, but students should have a strong background in engineering, science, or computer technology.
CSDS 237: Python Programming (100/2781)
M 02:00-04:00 PM Jun 16-Jul 30
Manasseh, C
This course provides an in-depth knowledge of the core concepts and features of programming in Python: Python language constructs, data structures, object-oriented programming, working with files and databases, interacting with the web, NumPy and Pandas libraries for data analysis, Matplotlib and Seaborn libraries for data visualization, testing, and user-interface design. The course will also provide an introduction to libraries and frameworks for advanced programming in computer vision, web development, machine learning, and AI.
CSDS 281: Logic Design and Computer Organization (800/3280)
TR 01:00-03:30 PM Jun 02-Jul 15
Gurkan Cavusoglu, E
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory.
Offered as CSDS 281 and ECSE 281.
CSDS 281: Logic Design and Computer Organization (810/3281)
W 01:00-03:30 PM Jun 02-Jul 15
Gurkan Cavusoglu, E
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory.
Offered as CSDS 281 and ECSE 281.
CSDS 302: Discrete Mathematics (800/2756)
MTW 08:30-01:00 PM May 12-May 30
Xu, S
A general introduction to basic mathematical terminology and the techniques of abstract mathematics in the context of discrete mathematics. Topics introduced are mathematical reasoning, Boolean connectives, deduction, mathematical induction, sets, functions and relations, algorithms, graphs, combinatorial reasoning.
Offered as CSDS 302, ECSE 302 and MATH 304.
CSDS 310: Algorithms (800/3273)
MTWR 10:30-12:45 PM Jun 02-Jul 01
Koyuturk, M
The course covers fundamentals in algorithm design and analysis and provides practice in professional algorithm writing and presentations. Loop invariants, asymptotic notation, recurrence relations, sorting algorithms, divide-and-conquer, dynamic programming, greedy algorithms, basic graph algorithms.
Offered as CSDS 310 and CSDS 310N.
CSDS 310N: Algorithms (800/3274)
MTWR 10:30-12:45 PM Jun 02-Jul 01
Koyuturk, M
The course covers fundamentals in algorithm design and analysis and provides practice in professional algorithm writing and presentations. Loop invariants, asymptotic notation, recurrence relations, sorting algorithms, divide-and-conquer, dynamic programming, greedy algorithms, basic graph algorithms.
Offered as CSDS 310 and CSDS 310N.
CSDS 341: Introduction to Database Systems (800/2743)
MTW 09:30-11:30 AM Jun 02-Jul 30
Ozguner, O
Relational model, ER model, relational algebra and calculus, SQL, OBE, security, views, files and physical database structures, query processing and query optimization, normalization theory, concurrency control, object relational systems, multimedia databases, Oracle SQL server, Microsoft SQL server.
Offered as CSDS 341 and CSDS 341N.
CSDS 341N: Introduction to Database Systems (800/2744)
MTW 09:30-11:30 AM Jun 02-Jul 30
Ozguner, O
Relational model, ER model, relational algebra and calculus, SQL, OBE, security, views, files and physical database structures, query processing and query optimization, normalization theory, concurrency control, object relational systems, multimedia databases, Oracle SQL server, Microsoft SQL server.
Offered as CSDS 341 and CSDS 341N.
CSDS 356: Data Privacy (800/2736)
MTWRF 08:30-11:30 AM May 12-May 30
Ayday, E
Introduction to privacy, economics and incentives, crypto-based solution for privacy, hiding data from the database user, hiding access patterns from the database owner, anonymous routing and TOR, privacy in online social networks, privacy in cellular and Wi-Fi networks, location privacy, privacy in e-cash systems, privacy in e-voting, genomic privacy.
Offered as CSDS 356 and CSDS 456.
CSDS 393: Software Engineering (100/2777)
MWF 05:30-08:25 PM Jul 10-Aug 06
Jimenez Segovia, L
Topics: Introduction to software engineering; software lifecycle models; development team organization and project management; requirements analysis and specification techniques; software design techniques; programming practices; software validation techniques; software maintenance practices; software engineering ethics. Undergraduates work in teams to complete a significant software development project. Graduate students are required to complete a research project.
Offered as CSDS 393, CSDS 393N, and CSDS 493.
CSDS 393N: Software Engineering (100/3272)
MWF 05:30-08:25 PM Jul 10-Aug 06
Jimenez Segovia, L
Topics: Introduction to software engineering; software lifecycle models; development team organization and project management; requirements analysis and specification techniques; software design techniques; programming practices; software validation techniques; software maintenance practices; software engineering ethics. Undergraduates work in teams to complete a significant software development project. Graduate students are required to complete a research project.
Offered as CSDS 393, CSDS 393N, and CSDS 493.
CSDS 396: Independent Projects (100/3460)
Kuppannagari, S
Independent projects in Computer and Data Science.
CSDS 400T: Graduate Teaching I (100/3421)
Liberatore, V
This course will provide the Ph.D. candidate with experience in teaching undergraduate or graduate students. The experience is expected to involve direct student contact but will be based upon the specific departmental needs and teaching obligations. This teaching experience will be conducted under the supervision of the faculty member who is responsible for the course, but the academic advisor will assess the educational plan to ensure that it provides an educational experience for the student. Students in this course may be expected to perform one or more of the following teaching related activities: grading homeworks, quizzes, and exams, having office hours for students, tutoring students. Recommended preparation: Ph.D. student in CSDS department.
CSDS 438: High Performance Data and Computing (800/2758)
MWF 05:30-06:45 PM Jun 16-Jul 30
Gajurel, S
High performance data and computing (HPDC) leverages parallel processing in order to maximize speed and throughput. This hands-on course will cover theoretical and practical aspects of HPDC. Theoretical concepts covered include computer architecture, parallel programming, and performance optimization. Practical applications will be discussed from various information and scientific fields. Practical considerations will include HPDC job management and Unix scripting. Weekly assessments and a course project will be required.
Offered as CSDS 438 and ECSE 438.
CSDS 456: Data Privacy (800/2737)
MTWRF 08:30-11:30 AM May 12-May 30
Ayday, E
Introduction to privacy, economics and incentives, crypto-based solution for privacy, hiding data from the database user, hiding access patterns from the database owner, anonymous routing and TOR, privacy in online social networks, privacy in cellular and Wi-Fi networks, location privacy, privacy in e-cash systems, privacy in e-voting, genomic privacy.
Offered as CSDS 356 and CSDS 456.
CSDS 456: Data Privacy (500/3265)
R 07:00-08:00 PM May 05-Aug 08
Ayday, E
Introduction to privacy, economics and incentives, crypto-based solution for privacy, hiding data from the database user, hiding access patterns from the database owner, anonymous routing and TOR, privacy in online social networks, privacy in cellular and Wi-Fi networks, location privacy, privacy in e-cash systems, privacy in e-voting, genomic privacy.
Offered as CSDS 356 and CSDS 456.
CSDS 500T: Graduate Teaching II (100/3422)
Liberatore, V
This course will provide the Ph.D. candidate with experience in teaching undergraduate or graduate students. The experience is expected to involve direct student contact but will be based upon the specific departmental needs and teaching obligations. This teaching experience will be conducted under the supervision of the faculty member who is responsible for the course, but the academic advisor will assess the educational plan to ensure that it provides an educational experience for the student. Students in this course may be expected to perform one or more of the following teaching related activities: grading homeworks, quizzes, and exams, having office hours for students, running recitation sessions, providing laboratory assistance. Recommended preparation: Ph.D. student in CSDS department.
CSDS 600: Artificial Intelligence (500/3271)
M 07:00-08:00 PM May 05-Aug 08
Ray, S
CSDS 600T: Graduate Teaching III (100/3423)
Liberatore, V
This course will provide Ph.D. candidate with experience in teaching undergraduate or graduate students. The experience is expected to involve direct student contact but will be based upon the specific departmental needs and teaching obligations. This teaching experience will be conducted under the supervision of the faculty member who is responsible for the course, but the academic advisor will assess the educational plan to ensure that it provides an educational experience for the student. Students in this course may be expected to perform one or more of the following teaching related activities running recitation sessions, providing laboratory assistance, developing teaching or lecture materials presenting lectures. Recommended preparation: Ph.D. student in CSES department.
CSDS 601: Independent Study (100/3425)
Ayday, E
CSDS 651: Thesis M.S. (100/2672)
Ayday, E
Credit as arranged.
CSDS 651: Thesis M.S. (101/2673)
Chaudhary, V
Credit as arranged.
CSDS 651: Thesis M.S. (102/2674)
Connamacher, H
Credit as arranged.
CSDS 651: Thesis M.S. (103/2675)
Koyuturk, M
Credit as arranged.
CSDS 651: Thesis M.S. (104/2676)
Lewicki, M
Credit as arranged.
CSDS 651: Thesis M.S. (105/2677)
Li, J
Credit as arranged.
CSDS 651: Thesis M.S. (106/2678)
Liberatore, V
Credit as arranged.
CSDS 651: Thesis M.S. (107/2679)
Ozguner, O
Credit as arranged.
CSDS 651: Thesis M.S. (108/2680)
Podgurski, H
Credit as arranged.
CSDS 651: Thesis M.S. (109/2681)
Rabinovich, M
Credit as arranged.
CSDS 651: Thesis M.S. (110/2682)
Ray, S
Credit as arranged.
CSDS 651: Thesis M.S. (111/2683)
Wang, A
Credit as arranged.
CSDS 651: Thesis M.S. (112/2684)
Wu, Y
Credit as arranged.
CSDS 651: Thesis M.S. (113/2686)
Xu, S
Credit as arranged.
CSDS 651: Thesis M.S. (114/3364)
Biswas, S
Credit as arranged.
CSDS 695: Project M.S. (100/2702)
Ayday, E
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (101/2703)
Chaudhary, V
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (102/2704)
Connamacher, H
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (103/2705)
Koyuturk, M
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (104/2706)
Lewicki, M
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (105/2707)
Li, J
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (106/2708)
Liberatore, V
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (107/2709)
Ozguner, O
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (108/2710)
Podgurski, H
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (109/2711)
Rabinovich, M
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (110/2712)
Ray, S
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (111/2713)
Wang, A
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (112/2714)
Wu, Y
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (114/2716)
Xu, S
Research course taken by Plan B M.S. students.
CSDS 695: Project M.S. (113/2769)
Kuppannagari, S
Research course taken by Plan B M.S. students.
CSDS 701: Dissertation Ph.D. (100/2687)
Ayday, E
Credit as arranged.
CSDS 701: Dissertation Ph.D. (101/2688)
Chaudhary, V
Credit as arranged.
CSDS 701: Dissertation Ph.D. (102/2689)
Connamacher, H
Credit as arranged.
CSDS 701: Dissertation Ph.D. (103/2690)
Koyuturk, M
Credit as arranged.
CSDS 701: Dissertation Ph.D. (104/2691)
Lewicki, M
Credit as arranged.
CSDS 701: Dissertation Ph.D. (105/2692)
Li, J
Credit as arranged.
CSDS 701: Dissertation Ph.D. (106/2693)
Liberatore, V
Credit as arranged.
CSDS 701: Dissertation Ph.D. (107/2694)
Ozguner, O
Credit as arranged.
CSDS 701: Dissertation Ph.D. (108/2695)
Podgurski, H
Credit as arranged.
CSDS 701: Dissertation Ph.D. (109/2696)
Rabinovich, M
Credit as arranged.
CSDS 701: Dissertation Ph.D. (110/2697)
Ray, S
Credit as arranged.
CSDS 701: Dissertation Ph.D. (111/2698)
Wang, A
Credit as arranged.
CSDS 701: Dissertation Ph.D. (112/2699)
Wu, Y
Credit as arranged.
CSDS 701: Dissertation Ph.D. (114/2701)
Xu, S
Credit as arranged.
CSDS 701: Dissertation Ph.D. (113/2800)
Xu, K
Credit as arranged.