Skip to main content
TR EN

Course Catalog

CS 500 Logic in Computer Science 3 Credits
Propositional and first-order logic (soundness and completeness, incompleteness, undecidability, etc.). Logical issues in computer science (decision procedures, formal systems, definability, etc.).
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Logic in Computer Science 3
Fall 2021-2022 Logic in Computer Science 3
Spring 2017-2018 Logic in Computer Science 3
Fall 2016-2017 Logic in Computer Science 3
Fall 2015-2016 Logic in Computer Science 3
Fall 2014-2015 Logic in Computer Science 3
Spring 2010-2011 Logic in Computer Science 3
Spring 2007-2008 Logic in Computer Science 3
Spring 2006-2007 Logic in Computer Science 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 502 Automated Reasoning 3 Credits
Formal principles, and algorithms for reasoning about knowledge represented in a logical language (e.g., methods used by the state-of-the-art SAT solvers, QBF solvers, and theorem provers, algorithms for knowledge compilation, logical entailment, and model counting), and their applications in computer science (e.g., prediction, diagnosis and testing, planning, model checking, automated theorem proving, constraint satisfaction).
Last Offered Terms Course Name SU Credit
Fall 2020-2021 Automated Reasoning 3
Spring 2012-2013 Automated Reasoning 3
Spring 2006-2007 Automated Reasoning 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 503 Theory of Computation 3 Credits
Turing machines; recursive numbers and Turing computability; solvability and unsolvable problems; concepts of and results on computational complexity; some NP complete problems
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Theory of Computation 3
Spring 2022-2023 Theory of Computation 3
Spring 2021-2022 Theory of Computation 3
Spring 2018-2019 Theory of Computation 3
Spring 2017-2018 Theory of Computation 3
Spring 2016-2017 Theory of Computation 3
Spring 2015-2016 Theory of Computation 3
Spring 2013-2014 Theory of Computation 3
Spring 2012-2013 Theory of Computation 3
Spring 2011-2012 Theory of Computation 3
Spring 2010-2011 Theory of Computation 3
Spring 2009-2010 Theory of Computation 3
Spring 2006-2007 Theory of Computation 3
Spring 2005-2006 Theory of Computation 3
Spring 2004-2005 Theory of Computation 3
Fall 2001-2002 Theory of Computation 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 504 Knowledge Representation and Reasoning 3 Credits
Mathematical foundations of various knowledge representation and reasoning formalisms (e.g., classical logic,answer set programming, action languages, situation calculus, description logic, constraint programming), and their applications to computer science and other sciences (e.g., commonsense knowledge representation, belief/theory revision/update, Semantic Web, graph theory, planning, diagnosis, VLSI design, historical linguistics, computational biology, biomedical informatics).
Last Offered Terms Course Name SU Credit
Fall 2022-2023 Knowledge Representation and Reasoning 3
Spring 2019-2020 Knowledge Representation and Reasoning 3
Fall 2017-2018 Knowledge Representation and Reasoning 3
Fall 2015-2016 Knowledge Representation and Reasoning 3
Fall 2011-2012 Knowledge Representation and Reasoning 3
Fall 2010-2011 Knowledge Representation and Reasoning 3
Fall 2008-2009 Knowledge Representation and Reasoning 3
Fall 2007-2008 Knowledge Representation and Reasoning 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 506 Cognitive Robotics 3 Credits
Kinematic and dynamic modeling of robots. Architectures for robot control. World maps and localization. Object recognition. Manipulation and path planning. Human-Robot interaction. Artificial Intelligence planning. Sensing and monitoring. Diagnosis. Robotic learning. Representation and reasoning formalisms and algorithms. Methods for coupling high-level reasoning with low-level control.
Last Offered Terms Course Name SU Credit
Fall 2016-2017 Cognitive Robotics 3
Spring 2012-2013 Cognitive Robotics 3
Spring 2011-2012 Cognitive Robotics 3
Spring 2009-2010 Cognitive Robotics 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 507 Cryptography 3 Credits
This is an introductory course on cryptography. Topics include: Classical cryptosystems, basics of number theory, symmetric key cryptography (stream and block ciphers), hash functions, public key cryptosystems (RSA, discrete logarithm based algorithms, and elliptic curve cryptography (ECC)), digital signatures, implementation issues, secure key establishment techniques, secret sharing, and zero-knowledge proof.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Cryptography 3
Fall 2022-2023 Cryptography 3
Fall 2021-2022 Cryptography 3
Fall 2020-2021 Cryptography 3
Fall 2019-2020 Cryptography 3
Fall 2018-2019 Cryptography 3
Fall 2017-2018 Cryptography 3
Fall 2015-2016 Cryptography 3
Fall 2014-2015 Cryptography 3
Fall 2012-2013 Cryptography 3
Fall 2010-2011 Cryptography 3
Fall 2009-2010 Cryptography 3
Fall 2008-2009 Cryptography 3
Fall 2006-2007 Cryptography 3
Fall 2004-2005 Cryptography 3
Fall 2002-2003 Cryptography 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 510 Formal Methods for Reliable Digital Systems 3 Credits
This course introduces the formal verification and testing methods for digital systems, which includes both software and digital hardware. In the first part of the course, formal testing based on finite state machine representation of digital systems is studied. Black box and white box testing methods are also covered. In the second part of the course, model checking is introduced as a formal approach for verification. The practical problems of model checking, and some complexity relief techniques are also discussed.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Formal Methods for Reliable Digital Systems 3
Spring 2019-2020 Formal Methods for Reliable Digital Systems 3
Fall 2018-2019 Formal Methods for Reliable Digital Systems 3
Fall 2016-2017 Formal Methods for Reliable Digital Systems 3
Fall 2015-2016 Formal Methods for Reliable Digital Systems 3
Fall 2013-2014 Formal Methods for Reliable Digital Systems 3
Fall 2012-2013 Formal Methods for Reliable Digital Systems 3
Spring 2010-2011 Formal Methods for Reliable Digital Systems 3
Spring 2009-2010 Formal Methods for Reliable Digital Systems 3
Fall 2009-2010 Formal Methods for Reliable Digital Systems 3
Spring 2008-2009 Formal Methods for Reliable Digital Systems 3
Spring 2007-2008 Formal Methods for Reliable Digital Systems 3
Spring 2006-2007 Formal Methods for Reliable Digital Systems 3
Spring 2005-2006 Formal Methods for Reliable Digital Systems 3
Spring 2004-2005 Formal Methods for Reliable Digital Systems 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 512 Machine Learning 3 Credits
This is an introductory machine learning course that will aim a solid understanding of the fundamental issues in machine learning together with several ML techniques such as decision trees, k-nearest neighbor, Bayesian classifiers, neural networks, linear and logistic regression, clustering, SVM and ensemble techniques.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Machine Learning 3
Fall 2022-2023 Machine Learning 3
Fall 2021-2022 Machine Learning 3
Fall 2020-2021 Machine Learning 3
Fall 2019-2020 Machine Learning 3
Fall 2018-2019 Machine Learning 3
Fall 2017-2018 Machine Learning 3
Fall 2015-2016 Machine Learning 3
Fall 2014-2015 Machine Learning 3
Fall 2013-2014 Machine Learning 3
Fall 2012-2013 Machine Learning 3
Fall 2011-2012 Machine Learning 3
Fall 2010-2011 Machine Learning 3
Fall 2009-2010 Machine Learning 3
Fall 2007-2008 Machine Learning 3
Spring 2005-2006 Machine Learning 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 513 Topics in Natural Language Processing 3 Credits
This course will cover various aspects of natural language processing. Topics include parsing algorithms, application of finite state methods to language processing tasks such as morphological analysis and morphological disambiguation statistical language processing, and applications such as machine translation, information extraction.
Last Offered Terms Course Name SU Credit
Summer 2008-2009 Topics in Natural Language Processing 3
Fall 2007-2008 Topics in Natural Language Processing 3
Fall 2005-2006 Topics in Natural Language Processing 3
Fall 2004-2005 Topics in Natural Language Processing 3
Fall 2002-2003 Topics in Natural Language Processing 3
Fall 2001-2002 Topics in Natural Language Processing 3
Fall 2000-2001 Topics in Natural Language Processing 3
Prerequisite: __
Corequisite:
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 514 Network Science 3 Credits
Network science is a framework to analyze the complex systems of technological, biological, and cultural networks. This course will present the fundamentals of networks, mathematical toolsets to study and characterize networked data, and develop skills for network thinking. Special network topics such as network models, communities, and dynamics on networks will be presented.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Network Science 3
Spring 2022-2023 Network Science 3
Spring 2021-2022 Special Topics in CS: Network Science (CS58002) 3
Spring 2020-2021 Special Topics in CS: Network Science (CS58002) 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 515 Deep Learning 3 Credits
This course covers the theory and foundations of Artificial Neural Networks (ANN) and various ANN architectures, such as the single and multi- layer perceptrons, Hopfield and Kohonen networks, and deep learning architectures (convolutional neural networks, autoencoders, restricted Boltzman machines, recurrent networks and LSTMs, and generative adversarial networks). Students will be expected to develop systems for machine learning problems from the computer vision and natural language understanding areas.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Deep Learning 3
Spring 2022-2023 Deep Learning 3
Spring 2021-2022 Deep Learning 3
Spring 2020-2021 Deep Learning 3
Spring 2019-2020 Deep Learning 3
Spring 2018-2019 Deep Learning 3
Spring 2002-2003 Neural Networks 3
Spring 2000-2001 Neural Networks 3
Prerequisite: (CS 512 - Masters - Min Grade D
or CS 512 - Doctorate - Min Grade D
or EE 566 - Masters - Min Grade D
or EE 566 - Doctorate - Min Grade D)
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 516 Biometrics 3 Credits
This course is designed to cover state-of-the-art biometric identification and verification technologies. The topics covered will include the following: Overview of biometrics and design of a biometric system; fundamentals of fingerprint, iris, face, signature, hand geometry, and voice verification and identification technologies; multimodal biometrics; template protection and privacy issues in biometrics; security analysis of biometric systems; pattern recognition techniques used in biometric systems.
Last Offered Terms Course Name SU Credit
Fall 2019-2020 Biometrics 3
Spring 2012-2013 Biometrics 3
Fall 2011-2012 Biometrics 3
Spring 2009-2010 Biometrics 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 517 Advanced Cryptography and Data Security 3 Credits
Information theoretic aspects of cryptography, homomorphic encryption, lattice-based cryptography, oblivious transfer, commitment schemes, zero- knowledge proofs, secure two-party computation, secure multi-party computation, electronic voting applications, side-channel and fault attacks.
Last Offered Terms Course Name SU Credit
Spring 2020-2021 Advanced Cryptography and Data Security 3
Spring 2018-2019 Advanced Cryptography and Data Security 3
Spring 2017-2018 Advanced Cryptography and Data Security 3
Spring 2014-2015 Advanced Cryptography and Data Security 3
Spring 2012-2013 Advanced Cryptography and Data Security 3
Spring 2010-2011 Advanced Cryptography and Data Security 3
Fall 2007-2008 Advanced Cryptography and Data Security 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 518 Computer Vision 3 Credits
This course provides a comprehensive introduction to computer vision, starting from digital Image analysis (filtering, image pyramids, frequency based processing, Hough transform and invariant feature extraction), advancing to geometry based computer vision (2D transforms, homographies, camera models and stereo), and ending with the presentation of state-of-the-art deep learning based computer vision techniques (convolutional networks, vision transformers, object detection and semantic segmentation).
Last Offered Terms Course Name SU Credit
Fall 2022-2023 Computer Vision 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 525 Data Mining 3 Credits
Data mining can be viewed as lossy data reduction and learning techniques that are designed to handle massive data sets containing large numbers of categorical and numeric attributes. This course covers topics in data mining and knowledge discovery structured and unstructured databases such as data integration, mining, and interpretation of patterns, rule-based learning, decision trees, association rule mining, and statistical analysis for discovery of patterns, evaluation and interpretation of the mined patterns using visualization techniques.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Data Mining 3
Spring 2021-2022 Data Mining 3
Spring 2020-2021 Data Mining 3
Spring 2019-2020 Data Mining 3
Fall 2018-2019 Data Mining 3
Fall 2017-2018 Data Mining 3
Fall 2016-2017 Data Mining 3
Fall 2015-2016 Data Mining 3
Spring 2014-2015 Data Mining 3
Spring 2012-2013 Data Mining 3
Spring 2011-2012 Data Mining 3
Fall 2011-2012 Data Mining 3
Fall 2008-2009 Data Mining 3
Fall 2007-2008 Data Mining 3
Fall 2006-2007 Data Mining 3
Fall 2004-2005 Data Mining 3
Fall 2003-2004 Data Mining 3
Spring 2002-2003 Data Mining 3
Spring 2001-2002 Data Mining 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 528 Big Data Processing 3 Credits
To understand the big data storage and big data processing problems that arise with the growth of the data. To teach the tools and environments that are necessary to deal with the problems that come with big data. This course will give students the hands-on ability to perform data analysis and machine learning operations using open source technologies on big data environments by introducing them.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Big Data Processing 3
Spring 2021-2022 Big Data Processing 3
Spring 2020-2021 Big Data Processing 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 531 Parallel Processing and Algorithms 3 Credits
This course covers parallel computing architectures and interconnection networks, issues such as speedup, efficiency cost, granularity and scalability, and topics in parallel algorithms for many important problems such as sparse and and dense matrix operations (e.g., transposition, matrix-vector multiplication, matrix-matrix multiplication, solution of linear system of equations), graph problems and other computationally intensive problems in numerical applications.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Parallel Processing and Algorithms 3
Spring 2022-2023 Parallel Processing and Algorithms 3
Spring 2020-2021 Parallel Processing and Algorithms 3
Spring 2019-2020 Parallel Processing and Algorithms 3
Spring 2018-2019 Parallel Processing and Algorithms 3
Fall 2017-2018 Parallel Processing and Algorithms 3
Spring 2016-2017 Parallel Processing and Algorithms 3
Spring 2015-2016 Parallel Processing and Algorithms 3
Spring 2014-2015 Parallel Processing and Algorithms 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 532 Computer and Network Security 3 Credits
Overview of Cryptography, Identification and Authentication, Access Control, Operating System Security (UNIX and Windows Environments), Key Distribution, TCP/IP Security, IPSec, DNSSEC, WWW Security, SSL and TLS, E-mail Security (PGP, S/MIME), PKI and certificate systems, Viruses, Firewalls, Intrusion Detection, E-commerce Security
Last Offered Terms Course Name SU Credit
Spring 2021-2022 Computer and Network Security 3
Spring 2020-2021 Computer and Network Security 3
Spring 2018-2019 Computer and Network Security 3
Spring 2012-2013 Computer and Network Security 3
Spring 2007-2008 Computer and Network Security 3
Spring 2006-2007 Computer and Network Security 3
Spring 2004-2005 Computer and Network Security 3
Spring 2003-2004 Computer and Network Security 3
Spring 2002-2003 Computer and Network Security 3
Prerequisite: __
Corequisite: CS 532L
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 532L Computer & Network Security-Lab 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2021-2022 Computer & Network Security-Lab 0
Spring 2020-2021 Computer & Network Security-Lab 0
Spring 2018-2019 Computer and Network Security- Recitation (CS532R) 0
Spring 2012-2013 Computer and Network Security- Recitation (CS532R) 0
Spring 2007-2008 Computer and Network Security- Recitation (CS532R) 0
Prerequisite: __
Corequisite: CS 532
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 534 Distributed Systems 3 Credits
This course focuses on the design, implementation and management of distributed computing systems. Topics include: naming, security, reliability, resource sharing, and remote execution; network protocol issues above the transport level; electronic mail; network and distributed file systems and databases; handling transactions and coordination of multiple machines, consistency models and distributed semantics, fault tolerance.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Distributed Systems 3
Fall 2022-2023 Distributed Systems 3
Fall 2021-2022 Distributed Systems 3
Fall 2020-2021 Distributed Systems 3
Spring 2019-2020 Distributed Systems 3
Spring 2018-2019 Distributed Systems 3
Spring 2017-2018 Distributed Systems 3
Spring 2015-2016 Distributed Systems 3
Spring 2013-2014 Distributed Systems 3
Spring 2011-2012 Distributed Systems 3
Spring 2010-2011 Distributed Systems 3
Fall 2008-2009 Distributed Systems 3
Spring 2006-2007 Distributed Systems 3
Spring 2005-2006 Distributed Systems 3
Spring 2003-2004 Distributed Systems 3
Spring 2002-2003 Distributed Systems 3
Prerequisite: __
Corequisite: CS 534L
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 534L Distributed Systems - Lab 0 Credit
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Distributed Systems - Lab 0
Fall 2022-2023 Distributed Systems - Lab 0
Fall 2021-2022 Distributed Systems - Lab 0
Fall 2020-2021 Distributed Systems - Lab 0
Spring 2019-2020 Distributed Systems - Lab 0
Spring 2018-2019 Distributed Systems - Lab 0
Spring 2017-2018 Distributed Systems - Lab 0
Spring 2015-2016 Distributed Systems - Lab 0
Spring 2013-2014 Distributed Systems - Lab 0
Spring 2011-2012 Distributed Systems - Lab 0
Spring 2010-2011 Distributed Systems - Lab 0
Spring 2006-2007 Distributed Systems - Lab 0
Spring 2005-2006 Distributed Systems - Lab 0
Spring 2003-2004 Distributed Systems - Lab 0
Prerequisite: __
Corequisite: CS 534
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 535 Wireless Network Security 3 Credits
This course covers security and privacy issues in wireless networks and systems, such as cellular networks, wireless LANs, wireless PANs, mobile ad hoc networks, vehicular networks, satellite networks, wireless mesh networks, sensor networks and RFID systems. Security problems of MAC and especially upper layers will be emphasized. Attacks and proposed solutions at several layers, authentication, key distribution and key management, secure routing, selfish and malicious behaviors, and secure group communication are analyzed for applicable wireless network types. A short overview of cryptography and wireless networking principles will be given at the beginning of the course.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Wireless Network Security 3
Fall 2020-2021 Wireless Network Security 3
Fall 2019-2020 Wireless Network Security 3
Fall 2018-2019 Wireless Network Security 3
Fall 2016-2017 Wireless Network Security 3
Fall 2014-2015 Wireless Network Security 3
Fall 2013-2014 Wireless Network Security 3
Fall 2012-2013 Wireless Network Security 3
Fall 2011-2012 Wireless Network Security 3
Fall 2010-2011 Wireless Network Security 3
Fall 2009-2010 Wireless Network Security 3
Fall 2008-2009 Wireless Network Security 3
Fall 2007-2008 Wireless Network Security 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 539 Software Verification and Validation 3 Credits
This course covers some of the fundamental concepts, methods, strategies, and techniques related to software verification and validation. Topics included are: software quality assurance concepts, issues, and principles; boundary value testing; equivalence class testing; decision table-based testing; test coverage metrics; unit testing; path testing; control and data flow testing; usage-based statistical testing; integration testing; combinatorial testing; model-based testing; regression testing; static and dynamic program analysis; software inspections and walkthroughs; continuous integration; problem analysis and reporting; and program debugging.
Last Offered Terms Course Name SU Credit
Spring 2020-2021 Software Verification and Validation 3
Fall 2018-2019 Software Verification and Validation 3
Spring 2016-2017 Software Verification and Validation 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 542 Software Design Patterns 3 Credits
This course introduces the use of design patterns Creational, structural and behavioral patterns, enterprise software architecture patterns, anti-patterns, object-oriented design principles and processes will be discussed.
Last Offered Terms Course Name SU Credit
Spring 2022-2023 Software Design Patterns 3
Spring 2021-2022 Special Topics in CS: Software Design Patterns (CS58005) 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 543 Computer Graphics and Visualization 3 Credits
This course provides a study of computer graphics representation schemes and rendering algorithms such as advanced methods for representing, displaying, and rendering two- and three-dimensional scenes, general algebraic curves and surfaces, splines, Gaussian and bump-function representations, fractals, particle systems, constructive solid geometry methods, lighting models, radiosity, advanced ray-tracing methods, surface texturing, animation techniques data visualization methods.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Computer Graphics and Visualization 3
Fall 2021-2022 Computer Graphics and Visualization 3
Fall 2020-2021 Computer Graphics and Visualization 3
Fall 2016-2017 Computer Graphics and Visualization 3
Spring 2014-2015 Computer Graphics and Visualization 3
Fall 2013-2014 Computer Graphics and Visualization 3
Fall 2012-2013 Computer Graphics and Visualization 3
Fall 2010-2011 Computer Graphics and Visualization 3
Fall 2008-2009 Computer Graphics and Visualization 3
Fall 2006-2007 Computer Graphics and Visualization 3
Fall 2005-2006 Computer Graphics and Visualization 3
Fall 2004-2005 Computer Graphics and Visualization 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 546 Deep Natural Language Processing 3 Credits
This course studies the theory, design and implementation of natural language processing systems which use neural networks. Topics include word embeddings, neural language modeling, use of CNN and RNNs for text, seq2seq modeling, attention mechanisms, transformers, recursive neural networks, transfer learning for NLP.
Last Offered Terms Course Name SU Credit
Fall 2021-2022 Deep Natural Language Processing 3
Fall 2020-2021 Deep Natural Language Processing 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 549 Human Computer Interaction 3 Credits
This course provides students with a sound introduction to the discipline of HCI and examines the issues of human factors, user experience (UX), the design and test of computer application interfaces. It focuses on the context of designing and using of computer interfaces and covers methodologies for obtaining and interpreting human behaviour as it applies to the design of user interfaces. Students will develop skills in observing and working with users in interdisciplinary groups, identifying constraints and trade-offs on designs within the context of use, and using models of work and other activity as guides to interface design.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Human Computer Interaction 3
Fall 2023-2024 Human Computer Interaction 3
Fall 2022-2023 Human Computer Interaction 3
Spring 2012-2013 Human Computer Interaction (CS545) 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 551 Graduate Seminar I 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Graduate Seminar I 0
Fall 2023-2024 Graduate Seminar I 0
Spring 2022-2023 Graduate Seminar I 0
Fall 2022-2023 Graduate Seminar I 0
Spring 2021-2022 Graduate Seminar I 0
Fall 2021-2022 Graduate Seminar I 0
Spring 2020-2021 Graduate Seminar I 0
Fall 2020-2021 Graduate Seminar I 0
Spring 2019-2020 Graduate Seminar I 0
Fall 2019-2020 Graduate Seminar I 0
Spring 2018-2019 Graduate Seminar I 0
Fall 2018-2019 Graduate Seminar I 0
Spring 2017-2018 Graduate Seminar I 0
Fall 2017-2018 Graduate Seminar I 0
Spring 2016-2017 Graduate Seminar I 0
Fall 2016-2017 Graduate Seminar I 0
Spring 2015-2016 Graduate Seminar I 0
Fall 2015-2016 Graduate Seminar I 0
Fall 2014-2015 Graduate Seminar I 0
Fall 2013-2014 Graduate Seminar I 0
Fall 2012-2013 Graduate Seminar I 0
Fall 2011-2012 Graduate Seminar I 0
Fall 2010-2011 Graduate Seminar I 0
Fall 2009-2010 Graduate Seminar I 0
Fall 2008-2009 Graduate Seminar I 0
Fall 2007-2008 Graduate Seminar I 0
Fall 2006-2007 Graduate Seminar I 0
Fall 2005-2006 Graduate Seminar I 0
Fall 2004-2005 Graduate Seminar I 0
Fall 2003-2004 Graduate Seminar I 0
Fall 2001-2002 Graduate Seminar I 0
Prerequisite: __
Corequisite: __
ECTS Credit: 1 ECTS (1 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 552 Graduate Seminar II 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Graduate Seminar II 0
Fall 2023-2024 Graduate Seminar II 0
Spring 2022-2023 Graduate Seminar II 0
Fall 2022-2023 Graduate Seminar II 0
Spring 2021-2022 Graduate Seminar II 0
Fall 2021-2022 Graduate Seminar II 0
Spring 2020-2021 Graduate Seminar II 0
Fall 2020-2021 Graduate Seminar II 0
Spring 2019-2020 Graduate Seminar II 0
Fall 2019-2020 Graduate Seminar II 0
Spring 2018-2019 Graduate Seminar II 0
Fall 2018-2019 Graduate Seminar II 0
Spring 2017-2018 Graduate Seminar II 0
Spring 2015-2016 Graduate Seminar II 0
Spring 2014-2015 Graduate Seminar II 0
Spring 2013-2014 Graduate Seminar II 0
Spring 2012-2013 Graduate Seminar II 0
Spring 2011-2012 Graduate Seminar II 0
Spring 2010-2011 Graduate Seminar II 0
Spring 2009-2010 Graduate Seminar II 0
Spring 2008-2009 Graduate Seminar II 0
Spring 2007-2008 Graduate Seminar II 0
Spring 2006-2007 Graduate Seminar II 0
Spring 2005-2006 Graduate Seminar II 0
Spring 2004-2005 Graduate Seminar II 0
Spring 2003-2004 Graduate Seminar II 0
Spring 2002-2003 Graduate Seminar II 0
Spring 2001-2002 Graduate Seminar II 0
Prerequisite: __
Corequisite: __
ECTS Credit: 1 ECTS (1 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 560 Automated Debugging 3 Credits
Program debugging is a process of identifying and fixing bugs. Identifying root causes is the hardest, thus the most expensive, component of debugging. Developers often take a slice of the statements involved in a failure, hypothesize a set of potential causes in an ad hoc manner, and iteratively verify and refine their hypotheses until root causes are located. Obviously, this process can be quite tedious and time-consuming. Furthermore, as software systems are getting increasingly complex, the inefficiencies of the manual debugging process are getting magnified. Many automated approaches have been proposed to facilitate program debugging. All these approaches share the same ultimate goal, which is to help developers quickly and accurately pinpoint the root causes of failures. This course will cover state-of-the-art automated debugging approaches from both practical and research perspectives and will consist of two main parts. The goal of the first part is two folds: 1) To turn program debugging from a black art (as many believe) into a systematic and well-organized discipline; and 2) To provide students with enough background information to read and understand the scientific literature. The topics which will be covered in the first part are: How Failures Come To Be, Tracking Problems, Making Programs Fail, Reproducing Problems, Simplifying Problems, Scientific Debugging, Deducing Errors, and Mining and Detecting Anomalies. The second part of the course will survey the related literature by dividing it into four broad categories, namely static- analysis-based, dynamic-analysis-based, model-based, and empirical approaches.
Last Offered Terms Course Name SU Credit
Spring 2022-2023 Automated Debugging 3
Fall 2021-2022 Automated Debugging 3
Fall 2020-2021 Automated Debugging 3
Fall 2019-2020 Automated Debugging 3
Spring 2018-2019 Automated Debugging 3
Spring 2017-2018 Automated Debugging 3
Fall 2016-2017 Automated Debugging 3
Fall 2015-2016 Automated Debugging 3
Spring 2014-2015 Automated Debugging 3
Fall 2013-2014 Automated Debugging 3
Fall 2012-2013 Automated Debugging 3
Fall 2011-2012 Automated Debugging 3
Fall 2010-2011 Automated Debugging 3
Fall 2009-2010 Automated Debugging 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 58004 Special Topics in CS: Graph Mining 3 Credits
This course focuses on advanced graph mining algorithms for understanding graphs and extracting patterns and relationships from them. The course covers the following topics: Graph data structures and graph databases, paths flows and fundamental graph algorithms, mining subgraph patterns, subgraph pattern matching, nearest-neighbors search, graph centrality, spectral graph theory, graph similarity & graph kernels, modularity & influence maximization, graph embeddings & graph classification, linear-algebra-based graph algorithms
Last Offered Terms Course Name SU Credit
Spring 2020-2021 Special Topics in CS: Graph Mining 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 58007 Special Topics in CS: Internet of Things Sensing System 3 Credits
Introduction to the Internet of Things, Examples of mobile and embedded systems, and sensors, Sensing Pipelines, Signal Processing for sensor data, Machine Learning for sensing, System Considerations, Networking for IoT, Energy preservation, Privacy in Sensing, Embedded Sensing Architectures, On-device sensing on smartphones, Sensing with purpose-built devices on the edge, Wearable devices, Edge/Cloud Computing in Sensing, Remote inference, Offloading computations, Prominent Applications
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Special Topics in CS: Internet of Things Sensing System 3
Fall 2022-2023 Special Topics in CS: Internet of Things Sensing System 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 58008 Special Topics in CS: Automated Program Repair 3 Credits
This course is about introducing automatic software repair and its fundamental concepts and, exploring the current state-of-the-art in the field of automated program repair.
Last Offered Terms Course Name SU Credit
Fall 2022-2023 Special Topics in CS: Automated Program Repair 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 58009 Special Topics in CS: Lattice-Based Cryptography and Homomorphic Encryption Schemes 3 Credits
Mathematical Background, Partial Homomorphic Encryption Schemes (Paillier and Damgard-Jurik Encryption Schemes), Lattice-Based Cryptography, Ring-LWE problem, the LLL Algorithm, Homomorphic Encryption Schemes (BGV, BFV, CKKS), Bootstrapping, Scheme Switching, Multi-key Homomorphic Encryption, Applications of Homomorphic Encryption on Machine Learning, Acceleration of NTT Algorithm for Homomorphic Encryption
Last Offered Terms Course Name SU Credit
Spring 2022-2023 Special Topics in CS: Lattice-Based Cryptography and Homomorphic Encryption Schemes 3
Prerequisite: __
Corequisite: __
ECTS Credit: 10 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 590 Master Thesis 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Master Thesis 0
Fall 2023-2024 Master Thesis 0
Spring 2022-2023 Master Thesis 0
Fall 2022-2023 Master Thesis 0
Spring 2021-2022 Master Thesis 0
Fall 2021-2022 Master Thesis 0
Spring 2020-2021 Master Thesis 0
Fall 2020-2021 Master Thesis 0
Spring 2019-2020 Master Thesis 0
Fall 2019-2020 Master Thesis 0
Spring 2018-2019 Master Thesis 0
Fall 2018-2019 Master Thesis 0
Spring 2017-2018 Master Thesis 0
Fall 2017-2018 Master Thesis 0
Spring 2016-2017 Master Thesis 0
Fall 2016-2017 Master Thesis 0
Spring 2015-2016 Master Thesis 0
Fall 2015-2016 Master Thesis 0
Spring 2014-2015 Master Thesis 0
Fall 2014-2015 Master Thesis 0
Spring 2013-2014 Master Thesis 0
Fall 2013-2014 Master Thesis 0
Spring 2012-2013 Master Thesis 0
Fall 2012-2013 Master Thesis 0
Spring 2011-2012 Master Thesis 0
Fall 2011-2012 Master Thesis 0
Spring 2010-2011 Master Thesis 0
Fall 2010-2011 Master Thesis 0
Spring 2009-2010 Master Thesis 0
Fall 2009-2010 Master Thesis 0
Spring 2008-2009 Master Thesis 0
Fall 2008-2009 Master Thesis 0
Spring 2007-2008 Master Thesis 0
Fall 2007-2008 Master Thesis 0
Spring 2006-2007 Master Thesis 0
Prerequisite: __
Corequisite: __
ECTS Credit: 50 ECTS (50 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 592 Project 0 Credit
All graduate students pursuing a non-thesis M.Sc. Program are required to complete a project. The project topic and contents are based on the interest and background of the student and are approved by the faculty member serving as the project supervisor. At the completion of the project, the student is required to submit a final report. The final report is to be approved by the project supervisor.
Last Offered Terms Course Name SU Credit
Fall 2007-2008 Project 0
Prerequisite: __
Corequisite: __
ECTS Credit: 20 ECTS (20 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 790 Ph.D.Dissertation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Ph.D.Dissertation 0
Fall 2023-2024 Ph.D.Dissertation 0
Spring 2022-2023 Ph.D.Dissertation 0
Fall 2022-2023 Ph.D.Dissertation 0
Spring 2021-2022 Ph.D.Dissertation 0
Fall 2021-2022 Ph.D.Dissertation 0
Spring 2020-2021 Ph.D.Dissertation 0
Fall 2020-2021 Ph.D.Dissertation 0
Spring 2019-2020 Ph.D.Dissertation 0
Fall 2019-2020 Ph.D.Dissertation 0
Spring 2018-2019 Ph.D.Dissertation 0
Fall 2018-2019 Ph.D.Dissertation 0
Spring 2017-2018 Ph.D.Dissertation 0
Fall 2017-2018 Ph.D.Dissertation 0
Spring 2016-2017 Ph.D.Dissertation 0
Fall 2016-2017 Ph.D.Dissertation 0
Spring 2015-2016 Ph.D.Dissertation 0
Fall 2015-2016 Ph.D.Dissertation 0
Spring 2014-2015 Ph.D.Dissertation 0
Fall 2014-2015 Ph.D.Dissertation 0
Spring 2013-2014 Ph.D.Dissertation 0
Fall 2013-2014 Ph.D.Dissertation 0
Spring 2012-2013 Ph.D.Dissertation 0
Fall 2012-2013 Ph.D.Dissertation 0
Spring 2011-2012 Ph.D.Dissertation 0
Fall 2011-2012 Ph.D.Dissertation 0
Spring 2010-2011 Ph.D.Dissertation 0
Fall 2010-2011 Ph.D.Dissertation 0
Spring 2009-2010 Ph.D.Dissertation 0
Fall 2009-2010 Ph.D.Dissertation 0
Spring 2008-2009 Ph.D.Dissertation 0
Fall 2008-2009 Ph.D.Dissertation 0
Spring 2007-2008 Ph.D.Dissertation 0
Prerequisite: __
Corequisite: __
ECTS Credit: 180 ECTS (180 ECTS for students admitted before 2013-14 Academic Year)
General Requirements: