Skip to main content
TR EN

Course Catalog

CS 201 Programming Fundamentals 3 Credits
This course is intended to introduce students to the field of computing (basic computer organization, data representation, concepts, algorithmic thinking and problem solving), as well as give them intermediate level programming abilities in an object-oriented programming language
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Programming Fundamentals 3
Fall 2023-2024 Programming Fundamentals 3
Summer 2022-2023 Introduction to Computing 3
Spring 2022-2023 Introduction to Computing 3
Fall 2022-2023 Introduction to Computing 3
Summer 2021-2022 Introduction to Computing 3
Spring 2021-2022 Introduction to Computing 3
Fall 2021-2022 Introduction to Computing 3
Summer 2020-2021 Introduction to Computing 3
Spring 2020-2021 Introduction to Computing 3
Fall 2020-2021 Introduction to Computing 3
Summer 2019-2020 Introduction to Computing 3
Spring 2019-2020 Introduction to Computing 3
Fall 2019-2020 Introduction to Computing 3
Summer 2018-2019 Introduction to Computing 3
Spring 2018-2019 Introduction to Computing 3
Fall 2018-2019 Introduction to Computing 3
Summer 2017-2018 Introduction to Computing 3
Spring 2017-2018 Introduction to Computing 3
Fall 2017-2018 Introduction to Computing 3
Summer 2016-2017 Introduction to Computing 3
Spring 2016-2017 Introduction to Computing 3
Fall 2016-2017 Introduction to Computing 3
Summer 2015-2016 Introduction to Computing 3
Spring 2015-2016 Introduction to Computing 3
Fall 2015-2016 Introduction to Computing 3
Summer 2014-2015 Introduction to Computing 3
Spring 2014-2015 Introduction to Computing 3
Fall 2014-2015 Introduction to Computing 3
Summer 2013-2014 Introduction to Computing 3
Spring 2013-2014 Introduction to Computing 3
Fall 2013-2014 Introduction to Computing 3
Summer 2012-2013 Introduction to Computing 3
Spring 2012-2013 Introduction to Computing 3
Fall 2012-2013 Introduction to Computing 3
Summer 2011-2012 Introduction to Computing 3
Spring 2011-2012 Introduction to Computing 3
Fall 2011-2012 Introduction to Computing 3
Summer 2010-2011 Introduction to Computing 3
Spring 2010-2011 Introduction to Computing 3
Fall 2010-2011 Introduction to Computing 3
Summer 2009-2010 Introduction to Computing 3
Spring 2009-2010 Introduction to Computing 3
Fall 2009-2010 Introduction to Computing 3
Summer 2008-2009 Introduction to Computing 3
Spring 2008-2009 Introduction to Computing 3
Fall 2008-2009 Introduction to Computing 3
Summer 2007-2008 Introduction to Computing 3
Fall 2007-2008 Introduction to Computing 3
Summer 2006-2007 Introduction to Computing 3
Fall 2006-2007 Introduction to Computing 3
Summer 2005-2006 Introduction to Computing 3
Fall 2005-2006 Introduction to Computing 3
Summer 2004-2005 Introduction to Computing 3
Fall 2004-2005 Introduction to Computing 3
Summer 2003-2004 Introduction to Computing 3
Fall 2003-2004 Introduction to Computing 3
Summer 2002-2003 Introduction to Computing 3
Fall 2002-2003 Introduction to Computing 3
Summer 2001-2002 Introduction to Computing 3
Fall 2001-2002 Introduction to Computing 3
Fall 2000-2001 Introduction to Computing 3
Prerequisite: IF 100 - Undergraduate - Min Grade D
Corequisite: CS 201R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 201R Programming Fundamentals Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Programming Fundamentals Recitation 0
Fall 2023-2024 Programming Fundamentals Recitation 0
Summer 2022-2023 Introduction to Computing - Recitation 0
Spring 2022-2023 Introduction to Computing - Recitation 0
Fall 2022-2023 Introduction to Computing - Recitation 0
Summer 2021-2022 Introduction to Computing - Recitation 0
Spring 2021-2022 Introduction to Computing - Recitation 0
Fall 2021-2022 Introduction to Computing - Recitation 0
Summer 2020-2021 Introduction to Computing - Recitation 0
Spring 2020-2021 Introduction to Computing - Recitation 0
Fall 2020-2021 Introduction to Computing - Recitation 0
Summer 2019-2020 Introduction to Computing - Recitation 0
Spring 2019-2020 Introduction to Computing - Recitation 0
Fall 2019-2020 Introduction to Computing - Recitation 0
Summer 2018-2019 Introduction to Computing - Recitation 0
Spring 2018-2019 Introduction to Computing - Recitation 0
Fall 2018-2019 Introduction to Computing - Recitation 0
Summer 2017-2018 Introduction to Computing - Recitation 0
Spring 2017-2018 Introduction to Computing - Recitation 0
Fall 2017-2018 Introduction to Computing - Recitation 0
Summer 2016-2017 Introduction to Computing - Recitation 0
Spring 2016-2017 Introduction to Computing - Recitation 0
Fall 2016-2017 Introduction to Computing - Recitation 0
Summer 2015-2016 Introduction to Computing - Recitation 0
Spring 2015-2016 Introduction to Computing - Recitation 0
Fall 2015-2016 Introduction to Computing - Recitation 0
Summer 2014-2015 Introduction to Computing - Recitation 0
Spring 2014-2015 Introduction to Computing - Recitation 0
Fall 2014-2015 Introduction to Computing - Recitation 0
Summer 2013-2014 Introduction to Computing - Recitation 0
Spring 2013-2014 Introduction to Computing - Recitation 0
Fall 2013-2014 Introduction to Computing - Recitation 0
Summer 2012-2013 Introduction to Computing - Recitation 0
Spring 2012-2013 Introduction to Computing - Recitation 0
Fall 2012-2013 Introduction to Computing - Recitation 0
Summer 2011-2012 Introduction to Computing - Recitation 0
Spring 2011-2012 Introduction to Computing - Recitation 0
Fall 2011-2012 Introduction to Computing - Recitation 0
Summer 2010-2011 Introduction to Computing - Recitation 0
Spring 2010-2011 Introduction to Computing - Recitation 0
Fall 2010-2011 Introduction to Computing - Recitation 0
Summer 2009-2010 Introduction to Computing - Recitation 0
Spring 2009-2010 Introduction to Computing - Recitation 0
Fall 2009-2010 Introduction to Computing - Recitation 0
Summer 2008-2009 Introduction to Computing - Recitation 0
Spring 2008-2009 Introduction to Computing - Recitation 0
Fall 2008-2009 Introduction to Computing - Recitation 0
Summer 2007-2008 Introduction to Computing - Recitation 0
Fall 2007-2008 Introduction to Computing - Recitation 0
Summer 2006-2007 Introduction to Computing - Recitation 0
Fall 2006-2007 Introduction to Computing - Recitation 0
Summer 2005-2006 Introduction to Computing - Recitation 0
Fall 2005-2006 Introduction to Computing - Recitation 0
Summer 2004-2005 Introduction to Computing - Recitation 0
Fall 2004-2005 Introduction to Computing - Recitation 0
Summer 2003-2004 Introduction to Computing - Recitation 0
Fall 2003-2004 Introduction to Computing - Recitation 0
Summer 2002-2003 Introduction to Computing - Recitation 0
Fall 2002-2003 Introduction to Computing - Recitation 0
Summer 2001-2002 Introduction to Computing - Recitation 0
Fall 2001-2002 Introduction to Computing - Recitation 0
Fall 2000-2001 Introduction to Computing - Recitation 0
Prerequisite: __
Corequisite: CS 201
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 204 Advanced Programming 3 Credits
This course is intended to give advanced programming techniques, as well as further experience in programming. Topics covered will be: advanced object-oriented programming techniques and programming with classes (function overloading, templated classes, inheritance), pointers, linked lists, stacks, queues, debugging and profiling, reusable software (using/creating libraries), visual/GUI programming, exception handling, multi- threaded programming and synchronization.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Advanced Programming 3
Fall 2023-2024 Advanced Programming 3
Summer 2022-2023 Advanced Programming 3
Spring 2022-2023 Advanced Programming 3
Fall 2022-2023 Advanced Programming 3
Summer 2021-2022 Advanced Programming 3
Spring 2021-2022 Advanced Programming 3
Fall 2021-2022 Advanced Programming 3
Summer 2020-2021 Advanced Programming 3
Spring 2020-2021 Advanced Programming 3
Fall 2020-2021 Advanced Programming 3
Summer 2019-2020 Advanced Programming 3
Spring 2019-2020 Advanced Programming 3
Fall 2019-2020 Advanced Programming 3
Summer 2018-2019 Advanced Programming 3
Spring 2018-2019 Advanced Programming 3
Fall 2018-2019 Advanced Programming 3
Summer 2017-2018 Advanced Programming 3
Spring 2017-2018 Advanced Programming 3
Fall 2017-2018 Advanced Programming 3
Summer 2016-2017 Advanced Programming 3
Spring 2016-2017 Advanced Programming 3
Fall 2016-2017 Advanced Programming 3
Summer 2015-2016 Advanced Programming 3
Spring 2015-2016 Advanced Programming 3
Fall 2015-2016 Advanced Programming 3
Summer 2014-2015 Advanced Programming 3
Spring 2014-2015 Advanced Programming 3
Fall 2014-2015 Advanced Programming 3
Summer 2013-2014 Advanced Programming 3
Spring 2013-2014 Advanced Programming 3
Summer 2012-2013 Advanced Programming 3
Spring 2012-2013 Advanced Programming 3
Summer 2011-2012 Advanced Programming 3
Spring 2011-2012 Advanced Programming 3
Summer 2010-2011 Advanced Programming 3
Spring 2010-2011 Advanced Programming 3
Summer 2009-2010 Advanced Programming 3
Spring 2009-2010 Advanced Programming 3
Spring 2008-2009 Advanced Programming 3
Spring 2007-2008 Advanced Programming 3
Spring 2006-2007 Advanced Programming 3
Spring 2005-2006 Advanced Programming 3
Spring 2004-2005 Advanced Programming 3
Spring 2003-2004 Advanced Programming 3
Spring 2002-2003 Advanced Programming 3
Prerequisite: CS 201 - Undergraduate - Min Grade D
Corequisite: CS 204L
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 204L Advanced Programming Lab 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Advanced Programming Lab 0
Fall 2023-2024 Advanced Programming Lab 0
Summer 2022-2023 Advanced Programming Lab 0
Spring 2022-2023 Advanced Programming Lab 0
Fall 2022-2023 Advanced Programming Lab 0
Summer 2021-2022 Advanced Programming Lab 0
Spring 2021-2022 Advanced Programming Lab 0
Fall 2021-2022 Advanced Programming Lab 0
Summer 2020-2021 Advanced Programming Lab 0
Spring 2020-2021 Advanced Programming Lab 0
Fall 2020-2021 Advanced Programming Lab 0
Summer 2019-2020 Advanced Programming Lab 0
Spring 2019-2020 Advanced Programming Lab 0
Fall 2019-2020 Advanced Programming Lab 0
Summer 2018-2019 Advanced Programming Lab 0
Spring 2018-2019 Advanced Programming Lab 0
Fall 2018-2019 Advanced Programming Lab 0
Summer 2017-2018 Advanced Programming Lab 0
Spring 2017-2018 Advanced Programming Lab 0
Fall 2017-2018 Advanced Programming Lab 0
Summer 2016-2017 Advanced Programming Lab 0
Spring 2016-2017 Advanced Programming Lab 0
Fall 2016-2017 Advanced Programming Lab 0
Summer 2015-2016 Advanced Programming Lab 0
Spring 2015-2016 Advanced Programming Lab 0
Fall 2015-2016 Advanced Programming Lab 0
Summer 2014-2015 Advanced Programming Lab 0
Spring 2014-2015 Advanced Programming Lab 0
Fall 2014-2015 Advanced Programming Lab 0
Summer 2013-2014 Advanced Programming Lab 0
Spring 2013-2014 Advanced Programming Lab 0
Summer 2012-2013 Advanced Programming Lab 0
Spring 2012-2013 Advanced Programming Lab 0
Summer 2011-2012 Advanced Programming Lab 0
Spring 2011-2012 Advanced Programming Lab 0
Summer 2010-2011 Advanced Programming Lab 0
Spring 2010-2011 Advanced Programming Lab 0
Summer 2009-2010 Advanced Programming Lab 0
Spring 2009-2010 Advanced Programming Lab 0
Spring 2008-2009 Advanced Programming Lab 0
Spring 2007-2008 Advanced Programming Lab 0
Spring 2006-2007 Advanced Programming Lab 0
Spring 2005-2006 Advanced Programming Lab 0
Spring 2004-2005 Advanced Programming Lab 0
Spring 2003-2004 Advanced Programming Lab 0
Spring 2002-2003 Advanced Programming Lab 0
Prerequisite: __
Corequisite: CS 204
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 210 Introduction to Data Science 3 Credits
Data science spans a large variety of disciplines and requires a collection of skills. This course is intended to tour the basic techniques of data science from manipulation and summarizing the important characteristics of a data set, exploratory data analysis, basic statistical modeling and visualization.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Introduction to Data Science 3
Fall 2023-2024 Introduction to Data Science 3
Summer 2022-2023 Introduction to Data Science 3
Spring 2022-2023 Introduction to Data Science 3
Fall 2022-2023 Introduction to Data Science 3
Summer 2021-2022 Introduction to Data Science 3
Spring 2021-2022 Introduction to Data Science 3
Fall 2021-2022 Introduction to Data Science 3
Spring 2020-2021 Introduction to Data Science 3
Fall 2020-2021 Introduction to Data Science 3
Spring 2019-2020 Introduction to Data Science 3
Fall 2019-2020 Introduction to Data Science 3
Spring 2018-2019 Introduction to Data Science 3
Spring 2017-2018 Introduction to Data Science 3
Spring 2016-2017 Introduction to Data Science 3
Prerequisite: IF 100 - Undergraduate - Min Grade D
and MATH 203 - Undergraduate - Min Grade D
Corequisite: CS 210R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 210R Introduction to Data Science Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Introduction to Data Science Recitation 0
Fall 2023-2024 Introduction to Data Science Recitation 0
Summer 2022-2023 Introduction to Data Science Recitation 0
Spring 2022-2023 Introduction to Data Science Recitation 0
Fall 2022-2023 Introduction to Data Science Recitation 0
Summer 2021-2022 Introduction to Data Science Recitation 0
Spring 2021-2022 Introduction to Data Science Recitation 0
Fall 2021-2022 Introduction to Data Science Recitation 0
Spring 2020-2021 Introduction to Data Science Recitation 0
Fall 2020-2021 Introduction to Data Science Recitation 0
Spring 2019-2020 Introduction to Data Science Recitation 0
Fall 2019-2020 Introduction to Data Science Recitation 0
Spring 2018-2019 Introduction to Data Science Recitation 0
Spring 2017-2018 Introduction to Data Science Recitation 0
Spring 2016-2017 Introduction to Data Science Recitation 0
Prerequisite: __
Corequisite: CS 210
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 300 Data Structures 3 Credits
This course covers some of the fundamental data structures as well as the algorithms operating on them. Topics included are: Introduction to theoretical aspects of computing: modeling algorithms and their run times, computational complexity. Linear data structures (lists, stacks, queues), trees (binary search trees, AVL trees, tree traversals), hash tables, priority queues, disjoint sets, sorting algorithms, graphs and their representations, graph algorithms (depth first and breadth first search, single source shortest path algorithms), sorting algorithms, algorithmic paradigms (divide and conquer, greedy, dynamic programming).
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Data Structures 3
Fall 2023-2024 Data Structures 3
Summer 2022-2023 Data Structures 3
Spring 2022-2023 Data Structures 3
Fall 2022-2023 Data Structures 3
Summer 2021-2022 Data Structures 3
Spring 2021-2022 Data Structures 3
Fall 2021-2022 Data Structures 3
Summer 2020-2021 Data Structures 3
Spring 2020-2021 Data Structures 3
Fall 2020-2021 Data Structures 3
Summer 2019-2020 Data Structures 3
Spring 2019-2020 Data Structures 3
Fall 2019-2020 Data Structures 3
Summer 2018-2019 Data Structures 3
Spring 2018-2019 Data Structures 3
Fall 2018-2019 Data Structures 3
Summer 2017-2018 Data Structures 3
Fall 2017-2018 Data Structures 3
Fall 2016-2017 Data Structures 3
Summer 2015-2016 Data Structures 3
Fall 2015-2016 Data Structures 3
Fall 2014-2015 Data Structures 3
Fall 2013-2014 Data Structures 3
Fall 2012-2013 Data Structures 3
Fall 2011-2012 Data Structures 3
Spring 2010-2011 Data Structures (CS202) 3
Spring 2009-2010 Data Structures (CS202) 3
Spring 2008-2009 Data Structures (CS202) 3
Summer 2007-2008 Data Structures (CS202) 3
Spring 2007-2008 Data Structures (CS202) 3
Spring 2006-2007 Data Structures (CS202) 3
Summer 2005-2006 Data Structures (CS202) 3
Spring 2005-2006 Data Structures (CS202) 3
Spring 2004-2005 Data Structures (CS202) 3
Spring 2003-2004 Data Structures (CS202) 3
Spring 2002-2003 Data Structures (CS202) 3
Spring 2001-2002 Data Structures (CS202) 3
Spring 2000-2001 Data Structures (CS202) 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite: CS 300R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 300R Data Structures-Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Data Structures-Recitation 0
Fall 2023-2024 Data Structures-Recitation 0
Summer 2022-2023 Data Structures-Recitation 0
Spring 2022-2023 Data Structures-Recitation 0
Fall 2022-2023 Data Structures-Recitation 0
Summer 2021-2022 Data Structures-Recitation 0
Spring 2021-2022 Data Structures-Recitation 0
Fall 2021-2022 Data Structures-Recitation 0
Summer 2020-2021 Data Structures-Recitation 0
Spring 2020-2021 Data Structures-Recitation 0
Fall 2020-2021 Data Structures-Recitation 0
Summer 2019-2020 Data Structures-Recitation 0
Spring 2019-2020 Data Structures-Recitation 0
Fall 2019-2020 Data Structures-Recitation 0
Summer 2018-2019 Data Structures-Recitation 0
Spring 2018-2019 Data Structures-Recitation 0
Fall 2018-2019 Data Structures-Recitation 0
Summer 2017-2018 Data Structures-Recitation 0
Fall 2017-2018 Data Structures-Recitation 0
Fall 2016-2017 Data Structures-Recitation 0
Summer 2015-2016 Data Structures-Recitation 0
Fall 2015-2016 Data Structures-Recitation 0
Fall 2014-2015 Data Structures-Recitation 0
Fall 2013-2014 Data Structures-Recitation 0
Fall 2012-2013 Data Structures-Recitation 0
Fall 2011-2012 Data Structures-Recitation 0
Spring 2010-2011 Data Structures - Recitation (CS202R) 0
Spring 2009-2010 Data Structures - Recitation (CS202R) 0
Spring 2008-2009 Data Structures - Recitation (CS202R) 0
Summer 2007-2008 Data Structures - Recitation (CS202R) 0
Spring 2007-2008 Data Structures - Recitation (CS202R) 0
Spring 2006-2007 Data Structures - Recitation (CS202R) 0
Spring 2005-2006 Data Structures - Recitation (CS202R) 0
Spring 2004-2005 Data Structures - Recitation (CS202R) 0
Spring 2003-2004 Data Structures - Recitation (CS202R) 0
Spring 2002-2003 Data Structures - Recitation (CS202R) 0
Spring 2001-2002 Data Structures - Recitation (CS202R) 0
Spring 2000-2001 Data Structures - Recitation (CS202R) 0
Prerequisite: __
Corequisite: CS 300
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 301 Algorithms 3 Credits
This course will cover algorithms for a variety of problems, as well as general algorithm design and analysis techniques such as divide-and-conquer, dynamic programming, and greedy algorithms. Specific topics include algorithm analysis, recurrences and asymptotic analysis, searching, sorting, order-statistics, shortest path problems, and network-flows. An introduction to the computational complexity classes (such as P, NP, NP- hard, NP-complete, PSPACE) together with approximation algorithms and the performance evaluation of algorithm implementations in practice are also covered in the course.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Algorithms 3
Fall 2023-2024 Algorithms 3
Summer 2022-2023 Algorithms 3
Spring 2022-2023 Algorithms 3
Fall 2022-2023 Algorithms 3
Spring 2021-2022 Algorithms 3
Fall 2021-2022 Algorithms 3
Spring 2020-2021 Algorithms 3
Fall 2020-2021 Algorithms 3
Spring 2019-2020 Algorithms 3
Fall 2019-2020 Algorithms 3
Spring 2018-2019 Algorithms 3
Fall 2018-2019 Algorithms 3
Spring 2017-2018 Algorithms 3
Spring 2016-2017 Algorithms 3
Spring 2015-2016 Algorithms 3
Spring 2014-2015 Algorithms 3
Spring 2013-2014 Algorithms 3
Spring 2012-2013 Algorithms 3
Spring 2011-2012 Algorithms 3
Fall 2011-2012 Algorithms 3
Fall 2010-2011 Algorithms 3
Fall 2009-2010 Algorithms 3
Fall 2008-2009 Algorithms 3
Fall 2007-2008 Algorithms 3
Fall 2006-2007 Algorithms 3
Fall 2005-2006 Algorithms 3
Fall 2004-2005 Algorithms 3
Fall 2003-2004 Algorithms 3
Fall 2002-2003 Algorithms 3
Fall 2001-2002 Algorithms 3
Prerequisite: (MATH 204 - Undergraduate - Min Grade D
and CS 300 - Undergraduate - Min Grade D)
Corequisite: CS 301R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 301R Algorithms-Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Algorithms-Recitation 0
Fall 2023-2024 Algorithms-Recitation 0
Summer 2022-2023 Algorithms-Recitation 0
Spring 2022-2023 Algorithms-Recitation 0
Fall 2022-2023 Algorithms-Recitation 0
Spring 2021-2022 Algorithms-Recitation 0
Fall 2021-2022 Algorithms-Recitation 0
Spring 2020-2021 Algorithms-Recitation 0
Fall 2020-2021 Algorithms-Recitation 0
Spring 2019-2020 Algorithms-Recitation 0
Fall 2019-2020 Algorithms-Recitation 0
Spring 2018-2019 Algorithms-Recitation 0
Fall 2018-2019 Algorithms-Recitation 0
Spring 2017-2018 Algorithms-Recitation 0
Spring 2016-2017 Algorithms-Recitation 0
Spring 2015-2016 Algorithms-Recitation 0
Spring 2014-2015 Algorithms-Recitation 0
Spring 2013-2014 Algorithms-Recitation 0
Spring 2012-2013 Algorithms-Recitation 0
Spring 2011-2012 Algorithms-Recitation 0
Fall 2011-2012 Algorithms-Recitation 0
Fall 2010-2011 Algorithms-Recitation 0
Fall 2009-2010 Algorithms-Recitation 0
Fall 2008-2009 Algorithms-Recitation 0
Fall 2007-2008 Algorithms-Recitation 0
Fall 2006-2007 Algorithms-Recitation 0
Fall 2005-2006 Algorithms-Recitation 0
Fall 2003-2004 Algorithms-Recitation 0
Prerequisite: __
Corequisite: CS 301
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 302 Formal Languages and Automata Theory 3 Credits
Introduction to languages, grammars and computation, Chomsky hierarchy, Regular languages and regular expressions, finite state automata and nondeterminism, automata determinization and minimization, pumping lemma and closure properties for regular languages, context free languages and grammars, push-down automata, pumping lemma for context-free languages, closure properties of context-free languages.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Formal Languages and Automata Theory 3
Fall 2023-2024 Formal Languages and Automata Theory 3
Spring 2022-2023 Formal Languages and Automata Theory 3
Fall 2022-2023 Formal Languages and Automata Theory 3
Spring 2021-2022 Formal Languages and Automata Theory 3
Fall 2021-2022 Formal Languages and Automata Theory 3
Spring 2020-2021 Formal Languages and Automata Theory 3
Fall 2020-2021 Formal Languages and Automata Theory 3
Spring 2019-2020 Formal Languages and Automata Theory 3
Fall 2019-2020 Formal Languages and Automata Theory 3
Fall 2018-2019 Formal Languages and Automata Theory 3
Fall 2017-2018 Formal Languages and Automata Theory 3
Fall 2016-2017 Formal Languages and Automata Theory 3
Fall 2015-2016 Formal Languages and Automata Theory 3
Fall 2014-2015 Formal Languages and Automata Theory 3
Fall 2013-2014 Formal Languages and Automata Theory 3
Fall 2012-2013 Formal Languages and Automata Theory 3
Fall 2011-2012 Formal Languages and Automata Theory 3
Fall 2010-2011 Formal Languages and Automata Theory 3
Fall 2009-2010 Formal Languages and Automata Theory 3
Fall 2008-2009 Formal Languages and Automata Theory 3
Fall 2007-2008 Formal Languages and Automata Theory 3
Fall 2006-2007 Formal Languages and Automata Theory 3
Fall 2005-2006 Formal Languages and Automata Theory 3
Fall 2004-2005 Formal Languages and Automata Theory 3
Fall 2003-2004 Formal Languages and Automata Theory 3
Spring 2002-2003 Formal Languages and Automata Theory 3
Spring 2001-2002 Formal Languages and Automata Theory 3
Prerequisite: __
Corequisite: CS 302R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 302R Formal Languages and Automata Theory Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Formal Languages and Automata Theory Recitation 0
Fall 2023-2024 Formal Languages and Automata Theory Recitation 0
Spring 2022-2023 Formal Languages and Automata Theory Recitation 0
Fall 2022-2023 Formal Languages and Automata Theory Recitation 0
Spring 2021-2022 Formal Languages and Automata Theory Recitation 0
Fall 2021-2022 Formal Languages and Automata Theory Recitation 0
Spring 2020-2021 Formal Languages and Automata Theory Recitation 0
Fall 2020-2021 Formal Languages and Automata Theory Recitation 0
Spring 2019-2020 Formal Languages and Automata Theory Recitation 0
Fall 2019-2020 Formal Languages and Automata Theory Recitation 0
Fall 2018-2019 Formal Languages and Automata Theory Recitation 0
Fall 2017-2018 Formal Languages and Automata Theory Recitation 0
Fall 2016-2017 Formal Languages and Automata Theory Recitation 0
Fall 2015-2016 Formal Languages and Automata Theory Recitation 0
Fall 2014-2015 Formal Languages and Automata Theory Recitation 0
Fall 2013-2014 Formal Languages and Automata Theory Recitation 0
Fall 2012-2013 Formal Languages and Automata Theory Recitation 0
Fall 2011-2012 Formal Languages and Automata Theory Recitation 0
Fall 2010-2011 Formal Languages and Automata Theory Recitation 0
Fall 2009-2010 Formal Languages and Automata Theory Recitation 0
Fall 2008-2009 Formal Languages and Automata Theory Recitation 0
Fall 2007-2008 Formal Languages and Automata Theory Recitation 0
Fall 2006-2007 Formal Languages and Automata Theory Recitation 0
Fall 2005-2006 Formal Languages and Automata Theory Recitation 0
Fall 2004-2005 Formal Languages and Automata Theory Recitation 0
Fall 2003-2004 Formal Languages and Automata Theory Recitation 0
Spring 2002-2003 Formal Languages and Automata Theory Recitation 0
Prerequisite: __
Corequisite: CS 302
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 303 Logic and Digital System Design 4 Credits
Number systems and conversion, Boolean algebra, Boolean function minimization techniques, combinational logic circuit design, state elements (flip- flops), sequential circuits, design and implementation of state machines, Mealy and Moore circuits, higher level digital system design using logic building blocks such multiplexers/decoders, adders, memory and programmable gate arrays, hardware description languages.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Logic and Digital System Design 4
Fall 2023-2024 Logic and Digital System Design 4
Spring 2022-2023 Logic and Digital System Design 4
Fall 2022-2023 Logic and Digital System Design 4
Spring 2021-2022 Logic and Digital System Design 4
Fall 2021-2022 Logic and Digital System Design 4
Spring 2020-2021 Logic and Digital System Design 4
Fall 2020-2021 Logic and Digital System Design 4
Fall 2019-2020 Logic and Digital System Design 4
Fall 2018-2019 Logic and Digital System Design 4
Fall 2017-2018 Logic and Digital System Design 4
Fall 2016-2017 Logic and Digital System Design 4
Fall 2015-2016 Logic and Digital System Design 4
Fall 2014-2015 Logic and Digital System Design 4
Fall 2013-2014 Logic and Digital System Design 4
Fall 2012-2013 Logic and Digital System Design 4
Fall 2011-2012 Logic and Digital System Design 4
Fall 2010-2011 Logic and Digital System Design 4
Fall 2009-2010 Logic and Digital System Design 4
Fall 2008-2009 Logic and Digital System Design 4
Fall 2007-2008 Logic and Digital System Design 4
Fall 2006-2007 Logic and Digital System Design 4
Fall 2005-2006 Logic and Digital System Design 4
Fall 2004-2005 Logic and Digital System Design 4
Fall 2003-2004 Logic and Digital System Design 4
Fall 2002-2003 Logic and Digital System Design 4
Fall 2001-2002 Logic and Digital System Design 4
Prerequisite: __
Corequisite: CS 303L
and CS 303R
ECTS Credit: 7 ECTS (8 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 303L Logic and Digital System Design - Lab. 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Logic and Digital System Design - Lab. 0
Fall 2023-2024 Logic and Digital System Design - Lab. 0
Spring 2022-2023 Logic and Digital System Design - Lab. 0
Fall 2022-2023 Logic and Digital System Design - Lab. 0
Spring 2021-2022 Logic and Digital System Design - Lab. 0
Fall 2021-2022 Logic and Digital System Design - Lab. 0
Spring 2020-2021 Logic and Digital System Design - Lab. 0
Fall 2020-2021 Logic and Digital System Design - Lab. 0
Fall 2019-2020 Logic and Digital System Design - Lab. 0
Fall 2018-2019 Logic and Digital System Design - Lab. 0
Fall 2017-2018 Logic and Digital System Design - Lab. 0
Fall 2016-2017 Logic and Digital System Design - Lab. 0
Fall 2015-2016 Logic and Digital System Design - Lab. 0
Fall 2014-2015 Logic and Digital System Design - Lab. 0
Fall 2013-2014 Logic and Digital System Design - Lab. 0
Fall 2012-2013 Logic and Digital System Design - Lab. 0
Fall 2011-2012 Logic and Digital System Design - Lab. 0
Fall 2010-2011 Logic and Digital System Design - Lab. 0
Fall 2009-2010 Logic and Digital System Design - Lab. 0
Fall 2008-2009 Logic and Digital System Design - Lab. 0
Fall 2007-2008 Logic and Digital System Design - Lab. 0
Fall 2006-2007 Logic and Digital System Design - Lab. 0
Fall 2005-2006 Logic and Digital System Design - Lab. 0
Fall 2004-2005 Logic and Digital System Design - Lab. 0
Fall 2003-2004 Logic and Digital System Design - Lab. 0
Fall 2002-2003 Logic and Digital System Design - Lab. 0
Fall 2001-2002 Logic and Digital System Design - Lab. 0
Prerequisite: __
Corequisite: CS 303
and CS 303R
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 303R Logic and Digital System Design - Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Logic and Digital System Design - Recitation 0
Fall 2022-2023 Logic and Digital System Design - Recitation 0
Spring 2021-2022 Logic and Digital System Design - Recitation 0
Fall 2021-2022 Logic and Digital System Design - Recitation 0
Spring 2020-2021 Logic and Digital System Design - Recitation 0
Fall 2020-2021 Logic and Digital System Design - Recitation 0
Fall 2019-2020 Logic and Digital System Design - Recitation 0
Fall 2018-2019 Logic and Digital System Design - Recitation 0
Fall 2017-2018 Logic and Digital System Design - Recitation 0
Fall 2016-2017 Logic and Digital System Design - Recitation 0
Fall 2015-2016 Logic and Digital System Design - Recitation 0
Fall 2014-2015 Logic and Digital System Design - Recitation 0
Fall 2013-2014 Logic and Digital System Design - Recitation 0
Fall 2012-2013 Logic and Digital System Design - Recitation 0
Fall 2011-2012 Logic and Digital System Design - Recitation 0
Fall 2010-2011 Logic and Digital System Design - Recitation 0
Fall 2009-2010 Logic and Digital System Design - Recitation 0
Fall 2008-2009 Logic and Digital System Design - Recitation 0
Fall 2007-2008 Logic and Digital System Design - Recitation 0
Fall 2006-2007 Logic and Digital System Design - Recitation 0
Fall 2005-2006 Logic and Digital System Design - Recitation 0
Fall 2004-2005 Logic and Digital System Design - Recitation 0
Fall 2003-2004 Logic and Digital System Design - Recitation 0
Fall 2002-2003 Logic and Digital System Design - Recitation 0
Fall 2001-2002 Logic and Digital System Design - Recitation 0
Prerequisite: __
Corequisite: CS 303
and CS 303L
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 305 Programming Languages 3 Credits
This course discusses the concepts underlying the design, definition, implementation, and use of modern programming languages for a variety of programming paradigms, such as imperative, functional, logic and concurrent programming paradigms. The syntax and semantics of programming languages are described using formal approaches, and basic concepts of language analysis and compilation are covered using modern tools.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Programming Languages 3
Spring 2022-2023 Programming Languages 3
Fall 2021-2022 Programming Languages 3
Spring 2020-2021 Programming Languages 3
Spring 2019-2020 Programming Languages 3
Spring 2018-2019 Programming Languages 3
Spring 2017-2018 Programming Languages 3
Spring 2016-2017 Programming Languages 3
Spring 2015-2016 Programming Languages 3
Spring 2014-2015 Programming Languages 3
Spring 2013-2014 Programming Languages 3
Spring 2012-2013 Programming Languages 3
Spring 2011-2012 Programming Languages 3
Spring 2010-2011 Programming Languages 3
Spring 2009-2010 Programming Languages 3
Spring 2008-2009 Programming Languages 3
Spring 2007-2008 Programming Languages 3
Spring 2006-2007 Programming Languages 3
Spring 2005-2006 Programming Languages 3
Spring 2004-2005 Programming Languages 3
Spring 2003-2004 Programming Languages 3
Fall 2002-2003 Programming Languages 3
Fall 2001-2002 Programming Languages 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite:
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 306 Database Systems 3 Credits
This course covers the fundamental topics in database management systems including ANSI/SPARC architecture, data abstraction, data independence; data definition and manipulation languages; entity-relationship and relational data models, integrity constraints, query languages like SQL, relational algebra and calculus, functional dependencies, normal forms, transaction processing recovery and concurrency control, data structure for database management systems such as indices, B-trees, hashing.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Database Systems 3
Fall 2023-2024 Database Systems 3
Spring 2022-2023 Database Systems 3
Fall 2022-2023 Database Systems 3
Spring 2021-2022 Database Systems 3
Fall 2021-2022 Database Systems 3
Spring 2020-2021 Database Systems 3
Fall 2020-2021 Database Systems 3
Spring 2019-2020 Database Systems 3
Spring 2018-2019 Database Systems 3
Summer 2017-2018 Database Systems 3
Spring 2017-2018 Database Systems 3
Spring 2016-2017 Database Systems 3
Spring 2015-2016 Database Systems 3
Spring 2014-2015 Database Systems 3
Spring 2013-2014 Database Systems 3
Spring 2012-2013 Database Systems 3
Spring 2011-2012 Database Systems 3
Summer 2010-2011 Database Systems 3
Spring 2010-2011 Database Systems 3
Spring 2009-2010 Database Systems 3
Fall 2009-2010 Database Systems 3
Summer 2008-2009 Database Systems 3
Spring 2008-2009 Database Systems 3
Summer 2007-2008 Database Systems 3
Spring 2007-2008 Database Systems 3
Summer 2006-2007 Database Systems 3
Spring 2006-2007 Database Systems 3
Summer 2005-2006 Database Systems 3
Spring 2005-2006 Database Systems 3
Spring 2004-2005 Database Systems 3
Spring 2003-2004 Database Systems 3
Spring 2002-2003 Database Systems 3
Spring 2001-2002 Database Systems 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite: CS 306R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 306R Database Systems - Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Database Systems - Recitation 0
Fall 2023-2024 Database Systems - Recitation 0
Spring 2022-2023 Database Systems - Recitation 0
Fall 2022-2023 Database Systems - Recitation 0
Spring 2021-2022 Database Systems - Recitation 0
Fall 2021-2022 Database Systems - Recitation 0
Spring 2020-2021 Database Systems - Recitation 0
Fall 2020-2021 Database Systems - Recitation 0
Spring 2019-2020 Database Systems - Recitation 0
Spring 2018-2019 Database Systems - Recitation 0
Summer 2017-2018 Database Systems - Recitation 0
Spring 2017-2018 Database Systems - Recitation 0
Spring 2016-2017 Database Systems - Recitation 0
Spring 2015-2016 Database Systems - Recitation 0
Spring 2014-2015 Database Systems - Recitation 0
Spring 2013-2014 Database Systems - Recitation 0
Spring 2012-2013 Database Systems - Recitation 0
Spring 2011-2012 Database Systems - Recitation 0
Summer 2010-2011 Database Systems - Recitation 0
Spring 2010-2011 Database Systems - Recitation 0
Spring 2009-2010 Database Systems - Recitation 0
Fall 2009-2010 Database Systems - Recitation 0
Summer 2008-2009 Database Systems - Recitation 0
Spring 2008-2009 Database Systems - Recitation 0
Summer 2007-2008 Database Systems - Recitation 0
Spring 2007-2008 Database Systems - Recitation 0
Summer 2006-2007 Database Systems - Recitation 0
Spring 2006-2007 Database Systems - Recitation 0
Spring 2005-2006 Database Systems - Recitation 0
Spring 2004-2005 Database Systems - Recitation 0
Spring 2003-2004 Database Systems - Recitation 0
Spring 2002-2003 Database Systems - Recitation 0
Prerequisite: __
Corequisite: CS 306
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 307 Operating Systems 3 Credits
This course covers fundamental aspects of operating systems: management and virtualization of resources such as CPU, memory space and peripheral devices. Topics include concurrent processes, mutual exclusion, process communication, cooperation, deadlocks, semaphores, scheduling, protection, memory management, file system abstraction and persistent memory organization. The course will also highlight important aspects of operating systems such as UNIX and Windows.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Operating Systems 3
Fall 2023-2024 Operating Systems 3
Spring 2022-2023 Operating Systems 3
Fall 2022-2023 Operating Systems 3
Spring 2021-2022 Operating Systems 3
Fall 2021-2022 Operating Systems 3
Summer 2020-2021 Operating Systems 3
Spring 2020-2021 Operating Systems 3
Fall 2020-2021 Operating Systems 3
Fall 2019-2020 Operating Systems 3
Fall 2018-2019 Operating Systems 3
Fall 2017-2018 Operating Systems 3
Fall 2016-2017 Operating Systems 3
Fall 2015-2016 Operating Systems 3
Fall 2014-2015 Operating Systems 3
Fall 2013-2014 Operating Systems 3
Fall 2012-2013 Operating Systems 3
Fall 2011-2012 Operating Systems 3
Fall 2010-2011 Operating Systems 3
Fall 2009-2010 Operating Systems 3
Fall 2008-2009 Operating Systems 3
Fall 2007-2008 Operating Systems 3
Fall 2006-2007 Operating Systems 3
Fall 2005-2006 Operating Systems 3
Fall 2004-2005 Operating Systems 3
Fall 2003-2004 Operating Systems 3
Fall 2002-2003 Operating Systems 3
Fall 2001-2002 Operating Systems 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite: CS 307R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 307R Operating Systems - Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Operating Systems - Recitation 0
Fall 2023-2024 Operating Systems - Recitation 0
Spring 2022-2023 Operating Systems - Recitation 0
Fall 2022-2023 Operating Systems - Recitation 0
Spring 2021-2022 Operating Systems - Recitation 0
Fall 2021-2022 Operating Systems - Recitation 0
Summer 2020-2021 Operating Systems - Recitation 0
Spring 2020-2021 Operating Systems - Recitation 0
Fall 2020-2021 Operating Systems - Recitation 0
Fall 2019-2020 Operating Systems - Recitation 0
Fall 2018-2019 Operating Systems - Recitation 0
Fall 2017-2018 Operating Systems - Recitation 0
Fall 2016-2017 Operating Systems - Recitation 0
Fall 2015-2016 Operating Systems - Recitation 0
Fall 2014-2015 Operating Systems - Recitation 0
Fall 2013-2014 Operating Systems - Recitation 0
Fall 2012-2013 Operating Systems - Recitation 0
Fall 2011-2012 Operating Systems - Recitation 0
Fall 2010-2011 Operating Systems - Recitation 0
Fall 2009-2010 Operating Systems - Recitation 0
Fall 2008-2009 Operating Systems - Recitation 0
Fall 2007-2008 Operating Systems - Recitation 0
Fall 2006-2007 Operating Systems - Recitation 0
Fall 2005-2006 Operating Systems - Recitation 0
Fall 2004-2005 Operating Systems - Recitation 0
Fall 2003-2004 Operating Systems - Recitation 0
Fall 2002-2003 Operating Systems - Recitation 0
Prerequisite: __
Corequisite: CS 307
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 308 Software Engineering 4 Credits
This course covers the following fundamental topics in software engineering: software and software engineering, software development processes, agile development, requirements engineering, object-oriented software modeling, object-oriented software design, software design patterns, software architecture, and software quality assurance. The application of the theoretical knowledge gained in the lectures, is achieved by carrying out large-scale software engineering projects in teams.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Software Engineering 4
Fall 2023-2024 Software Engineering 4
Spring 2022-2023 Software Engineering 4
Fall 2022-2023 Software Engineering 4
Spring 2021-2022 Software Engineering 4
Fall 2021-2022 Software Engineering 4
Summer 2020-2021 Software Engineering 4
Spring 2020-2021 Software Engineering 4
Fall 2020-2021 Software Engineering 4
Spring 2019-2020 Software Engineering 4
Spring 2018-2019 Software Engineering 4
Spring 2017-2018 Software Engineering 4
Spring 2016-2017 Software Engineering 4
Spring 2015-2016 Software Engineering 4
Spring 2014-2015 Software Engineering 4
Spring 2013-2014 Software Engineering 4
Spring 2012-2013 Software Engineering 4
Spring 2011-2012 Software Engineering 4
Spring 2010-2011 Software Engineering 4
Spring 2009-2010 Software Engineering 4
Spring 2008-2009 Software Engineering 4
Spring 2007-2008 Software Engineering 4
Spring 2006-2007 Software Engineering 4
Spring 2005-2006 Software Engineering 4
Spring 2004-2005 Software Engineering 4
Spring 2003-2004 Software Engineering 4
Spring 2002-2003 Software Engineering 4
Spring 2001-2002 Software Engineering 4
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite: CS 308L
ECTS Credit: 7 ECTS (8 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 308L Software Engineering - Lab. 0 Credit
Laboratuvar
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Software Engineering - Lab. 0
Fall 2023-2024 Software Engineering - Lab. 0
Spring 2022-2023 Software Engineering - Lab. 0
Fall 2022-2023 Software Engineering - Lab. 0
Spring 2021-2022 Software Engineering - Lab. 0
Fall 2021-2022 Software Engineering - Lab. 0
Summer 2020-2021 Software Engineering - Lab. 0
Spring 2020-2021 Software Engineering - Lab. 0
Fall 2020-2021 Software Engineering - Lab. 0
Spring 2019-2020 Software Engineering - Lab. 0
Spring 2018-2019 Software Engineering - Lab. 0
Spring 2017-2018 Software Engineering - Lab. 0
Spring 2016-2017 Software Engineering - Lab. 0
Spring 2015-2016 Software Engineering - Lab. 0
Spring 2014-2015 Software Engineering - Lab. 0
Spring 2013-2014 Software Engineering - Lab. 0
Spring 2012-2013 Software Engineering - Lab. 0
Spring 2011-2012 Software Engineering - Lab. 0
Spring 2010-2011 Software Engineering - Lab. 0
Spring 2009-2010 Software Engineering - Lab. 0
Spring 2008-2009 Software Engineering - Lab. 0
Spring 2007-2008 Software Engineering - Lab. 0
Spring 2006-2007 Software Engineering - Lab. 0
Spring 2005-2006 Software Engineering - Lab. 0
Spring 2004-2005 Software Engineering - Lab. 0
Spring 2003-2004 Software Engineering - Lab. 0
Spring 2002-2003 Software Engineering - Lab. 0
Spring 2001-2002 Software Engineering - Lab. 0
Prerequisite: __
Corequisite: CS 308
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 310 Mobile Application Development 3 Credits
The objective of this course is to provide students with the skills needed to build mobile applications. The course starts with an introduction to the required programming environments and moves forward with creating stateful web services and developing mobile applications consuming web services. Upon successful completion of this course, students are expected to design, code and implement applications on mobile and hand-held devices with limited resources; understand web services; manage messaging with HTTP; and deploy/consume web services.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Mobile Application Development 3
Fall 2023-2024 Mobile Application Development 3
Spring 2022-2023 Mobile Application Development 3
Fall 2022-2023 Mobile Application Development 3
Spring 2021-2022 Mobile Application Development 3
Fall 2021-2022 Mobile Application Development 3
Summer 2020-2021 Mobile Application Development 3
Spring 2020-2021 Mobile Application Development 3
Spring 2019-2020 Mobile Application Development 3
Spring 2018-2019 Mobile Application Development 3
Spring 2017-2018 Mobile Application Development 3
Spring 2016-2017 Mobile Computing 3
Spring 2015-2016 Mobile Computing 3
Spring 2014-2015 Mobile Computing 3
Spring 2013-2014 Mobile Computing 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite: CS 310R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 310R Mobile Application Development - Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2021-2022 Mobile Application Development - Recitation 0
Fall 2021-2022 Mobile Application Development - Recitation 0
Prerequisite: __
Corequisite: CS 310
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 395 Internship Project 0 Credit
All CS FENS students are required to complete an internship project (CS 395) with a minimum duration of 8 weeks after 3rd year and to have a satisfactory (S) standing so as to receive their BSc degrees. The main objectives of the internship project are (i) to give the students a chance to gain first-hand working experience in an industrial setting, (ii) to enhance their technical an communications skills, (iii) to enable them to interact with engineers and technicians effectively. At the same time, the internship projects help the students' professional development. Students determine their internship companies/institutions based on their interests and programs they are enrolled in. At the end of the project, students are required to prepare and submit a final project report and make a presentation. Students have to be enrolled in a CS Diploma Program in order to register for this course. See the Internship Project Guideline for further details.
Last Offered Terms Course Name SU Credit
Summer 2023-2024 Internship Project 0
Fall 2023-2024 Internship Project 0
Summer 2022-2023 Internship Project 0
Fall 2022-2023 Internship Project 0
Summer 2021-2022 Internship Project 0
Spring 2021-2022 Internship Project 0
Summer 2020-2021 Summer Project (PROJ302) 0
Spring 2020-2021 Summer Project (PROJ302) 0
Fall 2020-2021 Summer Project (PROJ302) 0
Summer 2019-2020 Summer Project (PROJ302) 0
Summer 2018-2019 Summer Project (PROJ302) 0
Summer 2017-2018 Summer Project (PROJ302) 0
Summer 2016-2017 Summer Project (PROJ302) 0
Summer 2015-2016 Summer Project (PROJ302) 0
Summer 2014-2015 Summer Project (PROJ302) 0
Summer 2013-2014 Summer Project (PROJ302) 0
Summer 2012-2013 Summer Project (PROJ302) 0
Summer 2011-2012 Summer Project (PROJ302) 0
Summer 2010-2011 Summer Project (PROJ302) 0
Summer 2009-2010 Summer Project (PROJ302) 0
Summer 2008-2009 Summer Project (PROJ302) 0
Summer 2007-2008 Summer Project (PROJ302) 0
Summer 2006-2007 Summer Project (PROJ302) 0
Summer 2005-2006 Summer Project (PROJ302) 0
Summer 2004-2005 Summer Project (PROJ302) 0
Summer 2003-2004 Summer Project (PROJ302) 0
Summer 2002-2003 Summer Project (PROJ302) 0
Summer 2001-2002 Summer Project (PROJ302) 0
Prerequisite: (PROJ 102 - Undergraduate - Min Grade D)
or (PROJ 201 - Undergraduate - Min Grade D)
Corequisite: __
ECTS Credit: 5 ECTS (2 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 400 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
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 2009-2010 Logic in Computer Science 3
Spring 2007-2008 Logic in Computer Science 3
Spring 2006-2007 Logic in Computer Science 3
Prerequisite: MATH 204 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 401 Computer Architectures 4 Credits
This is an introductory course on computer architectures which is about the basic concepts and techniques that are fundamental for modern computers such as datapath design, pipelining, memory hierarchy, cache, and virtual memory. Topics include: Instruction set design, computer arithmetic, controller and datapath design, cache and memory systems, input-output systems, interrupts and exceptions, pipelining, performance.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Computer Architectures 4
Spring 2022-2023 Computer Architectures 4
Spring 2021-2022 Computer Architectures 4
Spring 2020-2021 Computer Architectures 4
Spring 2019-2020 Computer Architectures 4
Spring 2018-2019 Computer Architectures 4
Spring 2017-2018 Computer Architectures 4
Spring 2016-2017 Computer Architectures 4
Spring 2015-2016 Computer Architectures 4
Spring 2014-2015 Computer Architectures 4
Spring 2013-2014 Computer Architectures 4
Spring 2012-2013 Computer Architectures 4
Spring 2011-2012 Computer Architectures 4
Spring 2009-2010 Computer Architectures 4
Spring 2008-2009 Computer Architectures 4
Spring 2007-2008 Computer Architectures 4
Fall 2006-2007 Computer Architectures 4
Spring 2005-2006 Computer Architectures 4
Spring 2004-2005 Computer Architectures 4
Fall 2003-2004 Computer Architectures 3
Fall 2002-2003 Computer Architectures 3
Prerequisite: CS 303 - Undergraduate - Min Grade D
Corequisite: CS 401L
ECTS Credit: 6 ECTS (8 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 401L Computer Architectures-Lab 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Computer Architectures-Lab 0
Spring 2022-2023 Computer Architectures-Lab 0
Spring 2021-2022 Computer Architectures-Lab 0
Spring 2020-2021 Computer Architectures-Lab 0
Spring 2019-2020 Computer Architectures-Lab 0
Spring 2018-2019 Computer Architectures-Lab 0
Spring 2017-2018 Computer Architectures-Lab 0
Spring 2016-2017 Computer Architectures-Lab 0
Spring 2015-2016 Computer Architectures-Lab 0
Spring 2014-2015 Computer Architectures-Lab 0
Spring 2013-2014 Computer Architectures-Lab 0
Spring 2012-2013 Computer Architectures-Lab 0
Spring 2011-2012 Computer Architectures-Lab 0
Spring 2009-2010 Computer Architectures-Lab 0
Spring 2008-2009 Computer Architectures-Lab 0
Spring 2007-2008 Computer Architectures-Lab 0
Fall 2006-2007 Computer Architectures-Lab 0
Spring 2005-2006 Computer Architectures-Lab 0
Spring 2004-2005 Computer Architectures-Lab 0
Prerequisite: __
Corequisite: CS 401
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 402 Compiler Design 3 Credits
This course covers the design and implementation of compilers for high-level languages, and examines the interaction between language design, compiler design, and run-time organization. Topics covered include lexical analysis and syntactic analysis (recursive descent, LL, LR, and LALR parsing), symbol tables, type checking and procedure calls, storage allocation for variables, and generation of unoptimized code, optimization, memory management and run-time organization.
Last Offered Terms Course Name SU Credit
Fall 2018-2019 Compiler Design 3
Fall 2016-2017 Compiler Design 3
Fall 2015-2016 Compiler Design 3
Fall 2014-2015 Compiler Design 3
Fall 2013-2014 Compiler Design 3
Fall 2012-2013 Compiler Design 3
Fall 2008-2009 Compiler Design 3
Fall 2007-2008 Compiler Design 3
Fall 2006-2007 Compiler Design 3
Fall 2005-2006 Compiler Design 3
Fall 2004-2005 Compiler Design 3
Fall 2003-2004 Compiler Design 3
Prerequisite: CS 305 - Undergraduate - Min Grade D
Corequisite:
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 403 Distributed Systems 3 Credits
This course focuses on the design, implementation and management of distributed computing systems. Topics include: naming, security, reliability, resource sharing, an 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: CS 307 - Undergraduate - Min Grade D
Corequisite: CS 403L
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 403L 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
Fall 2008-2009 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 403
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 404 Artificial Intelligence 3 Credits
This course is a broad technical introduction to fundamental concepts and techniques in artificial intelligence. Topics include problem solving, search, knowledge representation and reasoning, reasoning and decision making under uncertainty. Other important topics and current application areas of artificial intelligence, such as automated planning, machine learning, computer vision, robotics, natural language understanding, and intelligent agents, will be discussed.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Artificial Intelligence 3
Spring 2022-2023 Artificial Intelligence 3
Spring 2021-2022 Artificial Intelligence 3
Fall 2021-2022 Artificial Intelligence 3
Spring 2020-2021 Artificial Intelligence 3
Fall 2020-2021 Artificial Intelligence 3
Spring 2019-2020 Artificial Intelligence 3
Fall 2018-2019 Artificial Intelligence 3
Spring 2017-2018 Artificial Intelligence 3
Spring 2016-2017 Artificial Intelligence 3
Fall 2015-2016 Artificial Intelligence 3
Spring 2014-2015 Artificial Intelligence 3
Spring 2013-2014 Artificial Intelligence 3
Fall 2012-2013 Artificial Intelligence 3
Fall 2011-2012 Artificial Intelligence 3
Fall 2010-2011 Artificial Intelligence 3
Fall 2009-2010 Artificial Intelligence 3
Fall 2008-2009 Artificial Intelligence 3
Fall 2007-2008 Artificial Intelligence 3
Fall 2006-2007 Artificial Intelligence 3
Fall 2005-2006 Artificial Intelligence 3
Fall 2004-2005 Artificial Intelligence 3
Fall 2003-2004 Artificial Intelligence 3
Fall 2002-2003 Artificial Intelligence 3
Prerequisite: CS 201 - Undergraduate - Min Grade D
Corequisite:
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 405 Computer Graphics 3 Credits
This course is an introduction to computer graphics, modeling, animation, and rendering. Topics covered include basic image processing, geometric transformations, geometric modeling of curves and surfaces, animation, 3-D viewing, visibility algorithms, radiosity, ray tracing, shading and volume rendering. Students gain experience by developing their own graphics programs producing simple animations.
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Computer Graphics 3
Fall 2022-2023 Computer Graphics 3
Fall 2021-2022 Computer Graphics 3
Fall 2020-2021 Computer Graphics 3
Fall 2019-2020 Computer Graphics 3
Fall 2018-2019 Computer Graphics 3
Fall 2017-2018 Computer Graphics 3
Fall 2016-2017 Computer Graphics 3
Fall 2015-2016 Computer Graphics 3
Fall 2013-2014 Computer Graphics 3
Fall 2012-2013 Computer Graphics 3
Fall 2011-2012 Computer Graphics 3
Fall 2010-2011 Computer Graphics 3
Fall 2009-2010 Computer Graphics 3
Fall 2008-2009 Computer Graphics 3
Fall 2007-2008 Computer Graphics 3
Fall 2006-2007 Computer Graphics 3
Fall 2005-2006 Computer Graphics 3
Spring 2004-2005 Computer Graphics 3
Spring 2003-2004 Computer Graphics 3
Spring 2002-2003 Computer Graphics 3
Prerequisite: CS 300 - Undergraduate - Min Grade D(can be taken concurrently)
Corequisite: CS 405L
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 405L Computer Graphics Lab 0 Credit
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Computer Graphics Lab 0
Fall 2022-2023 Computer Graphics Lab 0
Fall 2021-2022 Computer Graphics Lab 0
Fall 2020-2021 Computer Graphics Lab 0
Fall 2019-2020 Computer Graphics Lab 0
Fall 2018-2019 Computer Graphics Lab 0
Fall 2017-2018 Computer Graphics Lab 0
Fall 2016-2017 Computer Graphics Lab 0
Fall 2015-2016 Computer Graphics Lab 0
Fall 2013-2014 Computer Graphics Lab 0
Fall 2012-2013 Computer Graphics Lab 0
Fall 2011-2012 Computer Graphics Lab 0
Fall 2010-2011 Computer Graphics Lab 0
Fall 2009-2010 Computer Graphics Lab 0
Fall 2008-2009 Computer Graphics Lab 0
Fall 2007-2008 Computer Graphics Lab 0
Fall 2006-2007 Computer Graphics Lab 0
Fall 2005-2006 Computer Graphics Lab 0
Spring 2004-2005 Computer Graphics Lab 0
Spring 2003-2004 Computer Graphics Lab 0
Spring 2002-2003 Computer Graphics Lab 0
Prerequisite: __
Corequisite: CS 405
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 406 Parallel Computing 3 Credits
This course is an introduction to various aspects of parallel computing. Topics include: taxonomy of parallel architectures and interconnection networks, parallel algorithms and programming, speed-up, efficiency and performance issues; control parallel, data parallel and data flow models; parallel algorithms for sorting, matrix operations, graph problems.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Parallel Computing 3
Spring 2022-2023 Parallel Computing 3
Spring 2020-2021 Parallel Computing 3
Spring 2019-2020 Parallel Computing 3
Spring 2018-2019 Parallel Computing 3
Fall 2017-2018 Parallel Computing 3
Spring 2016-2017 Parallel Computing 3
Spring 2015-2016 Parallel Computing 3
Spring 2014-2015 Parallel Computing 3
Fall 2007-2008 Parallel Computing 3
Prerequisite: CS 301 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 407 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 2020-2021 Theory of Computation 3
Spring 2019-2020 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
Spring 2003-2004 Theory of Computation 3
Fall 2000-2001 Theory of Computation 3
Prerequisite: CS 302 - Undergraduate - Min Grade D
Corequisite: CS 407R
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 407R Theory of Computation - Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Theory of Computation - Recitation 0
Spring 2022-2023 Theory of Computation - Recitation 0
Spring 2021-2022 Theory of Computation - Recitation 0
Spring 2020-2021 Theory of Computation - Recitation 0
Spring 2019-2020 Theory of Computation - Recitation 0
Spring 2018-2019 Theory of Computation - Recitation 0
Spring 2017-2018 Theory of Computation - Recitation 0
Spring 2016-2017 Theory of Computation - Recitation 0
Spring 2015-2016 Theory of Computation - Recitation 0
Spring 2013-2014 Theory of Computation - Recitation 0
Spring 2012-2013 Theory of Computation - Recitation 0
Spring 2011-2012 Theory of Computation - Recitation 0
Spring 2010-2011 Theory of Computation - Recitation 0
Spring 2009-2010 Theory of Computation - Recitation 0
Spring 2006-2007 Theory of Computation - Recitation 0
Spring 2005-2006 Theory of Computation - Recitation 0
Spring 2004-2005 Theory of Computation - Recitation 0
Spring 2003-2004 Theory of Computation - Recitation 0
Fall 2000-2001 Theory of Computation - Recitation 0
Prerequisite: __
Corequisite: CS 407
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 408 Computer Networks 3 Credits
This course is an introductory course on computer networks. Topics include network architectures, circuit and packet switching, local and wide-area networks, network technologies and topologies; data link, network, and transport layer protocols; routing, addressing; congestion/flow/error control. Application layer protocols are covered as well. Physical layer issues are overviewed. Followed reference models are TCP/IP for network and upper layers, OSI for data link layer and IEEE 802 for MAC protocols.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Computer Networks 3
Fall 2023-2024 Computer Networks 3
Spring 2022-2023 Computer Networks 3
Fall 2022-2023 Computer Networks 3
Spring 2021-2022 Computer Networks 3
Fall 2021-2022 Computer Networks 3
Spring 2020-2021 Computer Networks 3
Fall 2020-2021 Computer Networks 3
Fall 2019-2020 Computer Networks 3
Fall 2018-2019 Computer Networks 3
Fall 2017-2018 Computer Networks 3
Fall 2016-2017 Computer Networks 3
Fall 2015-2016 Computer Networks 3
Fall 2014-2015 Computer Networks 3
Fall 2013-2014 Computer Networks 3
Fall 2012-2013 Computer Networks 3
Fall 2011-2012 Computer Networks 3
Fall 2010-2011 Computer Networks 3
Fall 2009-2010 Computer Networks 3
Spring 2008-2009 Computer Networks 3
Fall 2007-2008 Computer Networks 3
Spring 2006-2007 Computer Networks 3
Spring 2005-2006 Computer Networks 3
Fall 2004-2005 Computer Networks 3
Spring 2003-2004 Computer Networks 3
Fall 2002-2003 Computer Networks 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
Corequisite: CS 408L
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 408L Computer Networks - Lab 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Computer Networks - Lab 0
Fall 2023-2024 Computer Networks - Lab 0
Spring 2022-2023 Computer Networks - Lab 0
Fall 2022-2023 Computer Networks - Lab 0
Spring 2021-2022 Computer Networks - Lab 0
Fall 2021-2022 Computer Networks - Lab 0
Spring 2020-2021 Computer Networks - Lab 0
Fall 2020-2021 Computer Networks - Lab 0
Fall 2019-2020 Computer Networks - Lab 0
Fall 2018-2019 Computer Networks - Lab 0
Fall 2017-2018 Computer Networks - Lab 0
Fall 2016-2017 Computer Networks - Lab 0
Fall 2015-2016 Computer Networks - Lab 0
Fall 2014-2015 Computer Networks - Lab 0
Fall 2013-2014 Computer Networks - Lab 0
Fall 2012-2013 Computer Networks - Lab 0
Fall 2011-2012 Computer Networks - Lab 0
Fall 2010-2011 Computer Networks - Lab 0
Fall 2009-2010 Computer Networks - Lab 0
Spring 2008-2009 Computer Networks - Lab 0
Fall 2007-2008 Computer Networks - Lab 0
Spring 2006-2007 Computer Networks - Lab 0
Spring 2005-2006 Computer Networks - Lab 0
Fall 2004-2005 Computer Networks - Lab 0
Spring 2003-2004 Computer Networks - Lab 0
Prerequisite: __
Corequisite: CS 408
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 411 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
Prerequisite: MATH 204 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 412 Machine Learning 3 Credits
This is an introductory machine learning course that will aim a solid understanding of the fundamental issues in machine learning (overfitting, bias/variance), together with several state-of-art approaches such as decision trees, linear regression, k-nearest neighbor, Bayesian classifiers, support vector machines, neural networks, logistic regression, and classifier combination.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Machine Learning 3
Fall 2023-2024 Machine Learning 3
Summer 2022-2023 Machine Learning 3
Spring 2022-2023 Machine Learning 3
Fall 2022-2023 Machine Learning 3
Summer 2021-2022 Machine Learning 3
Spring 2021-2022 Machine Learning 3
Fall 2021-2022 Machine Learning 3
Summer 2020-2021 Machine Learning 3
Spring 2020-2021 Machine Learning 3
Fall 2020-2021 Machine Learning 3
Summer 2019-2020 Machine Learning 3
Spring 2019-2020 Machine Learning 3
Fall 2019-2020 Machine Learning 3
Summer 2018-2019 Machine Learning 3
Fall 2018-2019 Machine Learning 3
Summer 2017-2018 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
Prerequisite: (MATH 201 - Undergraduate - Min Grade D
and MATH 203 - Undergraduate - Min Grade D)
Corequisite: CS 412R
ECTS Credit: 6 ECTS (10 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 412R Machine Learning- Recitation 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Machine Learning- Recitation 0
Fall 2023-2024 Machine Learning- Recitation 0
Summer 2022-2023 Machine Learning- Recitation 0
Spring 2022-2023 Machine Learning- Recitation 0
Fall 2022-2023 Machine Learning- Recitation 0
Summer 2021-2022 Machine Learning- Recitation 0
Spring 2021-2022 Machine Learning- Recitation 0
Fall 2021-2022 Machine Learning- Recitation 0
Summer 2020-2021 Machine Learning- Recitation 0
Spring 2020-2021 Machine Learning- Recitation 0
Fall 2020-2021 Machine Learning- Recitation 0
Summer 2019-2020 Machine Learning- Recitation 0
Spring 2019-2020 Machine Learning- Recitation 0
Fall 2019-2020 Machine Learning- Recitation 0
Summer 2018-2019 Machine Learning- Recitation 0
Fall 2018-2019 Machine Learning- Recitation 0
Summer 2017-2018 Machine Learning- Recitation 0
Fall 2017-2018 Machine Learning- Recitation 0
Fall 2015-2016 Machine Learning- Recitation 0
Fall 2014-2015 Machine Learning- Recitation 0
Prerequisite: __
Corequisite: CS 412
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 414 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 (CS48002) 3
Spring 2020-2021 Special Topics in CS: Network Science (CS48002) 3
Prerequisite: CS 210 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 419 Digital Image and Video Analysis 3 Credits
1. Introduction and point processing 2. Binary mathematical morphology 3. Linear image analysis-I 4. Linear image analysis-II 5. Grayscale mathematical morphology 6. Hierarchical image representations 7. Attribute filtering and object based image analysis 8. Color image analysis and color morphology 9. Visual content description 10. Video analysis 11. Motion analysis 12. Image and video compression 13. Spatial and temporal segmentation 14. Recognizing visual patterns
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Digital Image and Video Analysis 3
Prerequisite: __
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 432 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, PKI and certificate systems, Firewalls, Intrusion Detection
Last Offered Terms Course Name SU Credit
Spring 2022-2023 Computer and Network Security 3
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 2016-2017 Computer and Network Security 3
Spring 2014-2015 Computer and Network Security 3
Spring 2012-2013 Computer and Network Security 3
Spring 2010-2011 Computer and Network Security 3
Spring 2009-2010 Computer and Network Security 3
Spring 2007-2008 Computer and Network Security 3
Prerequisite: CS 408 - Undergraduate - Min Grade D(can be taken concurrently)
or EE 414 - Undergraduate - Min Grade D (can be taken concurrently)
Corequisite: CS 432L
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 432L Computer and Network Security- Lab 0 Credit
Last Offered Terms Course Name SU Credit
Spring 2022-2023 Computer and Network Security- Lab 0
Spring 2021-2022 Computer and Network Security- Lab 0
Spring 2020-2021 Computer and Network Security- Lab 0
Prerequisite: __
Corequisite: CS 432
ECTS Credit: NONE ECTS (NONE ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 436 Cloud Computing 3 Credits
Cloud Computing Models. Services & platforms. Virtual machines and containers. Cloud Storage. Cloud application development. Serverless Computing. Queues & Connectors. Big Data Analytics in the Cloud.AI Services in the Cloud: AI as a Service (AiaaS).Cloud Computing for Industry 4.0. Edge Computing.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Cloud Computing 3
Prerequisite: __
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 437 Cybersecurity Practices and Applications 3 Credits
Introduction and general terminology, Classification of Attacks, Cyber Threats, Vulnerabilities and misconfigurations, Human Issues, Basic security components, Phishing and social engineering, Introduction to Linux, Basic Security Testing with Linux, Introduction to Red Team Tools, Reconnaissance attempts, Initial Access, Persistence, Application security, Command Injections, Memory Injections, Script Injection, Secure software development lifecycle, Threat Modeling
Last Offered Terms Course Name SU Credit
Fall 2023-2024 Cybersecurity Practices and Applications 3
Fall 2022-2023 Cybersecurity Practices and Applications 3
Fall 2021-2022 Cybersecurity Practices and Applications 3
Prerequisite: CS 408 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 438 Blockchain: Security and Applications 3 Credits
Cryptographic fundamentals for blockchain, distributed systems, crypto-currencies, smart contracts, distributed blockchain applications, consensus algorithms, blockchain mining, security and privacy in blockchain, blockchain ecosystem.
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Blockchain: Security and Applications 3
Fall 2022-2023 Special Topics in CS: Blockchain: Security and Applications (CS48001) 3
Spring 2021-2022 Special Topics in CS: Blockchain: Security and Applications (CS48001) 3
Spring 2020-2021 Special Topics in CS: Blockchain: Security and Applications (CS48001) 3
Spring 2019-2020 Special Topics in CS: Blockchain: Security and Applications (CS48001) 3
Prerequisite: __
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 439 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: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 442 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 (CS48000) 3
Fall 2019-2020 Special Topics in CS: Software Design Patterns (CS48000) 3
Prerequisite: CS 308 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 445 Natural Language Processing 3 Credits
This course studies the theory, design and implementation of natural language processing systems. Topics include text processing, regular expressions, statistical properties of text, edit distance, language modeling, text classification, sequence modeling, topic modeling, computational morphology, neural networks for NLP, chatbots, transfer learning for NLP.
Last Offered Terms Course Name SU Credit
Spring 2021-2022 Natural Language Processing 3
Fall 2020-2021 Natural Language Processing 3
Prerequisite: CS 204 - Undergraduate - Min Grade D
and CS 210 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 449 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
Prerequisite: IF 100 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 48004 Special Topics in CS: Agile Software Development 3 Credits
The course introduces software development processes, clean code principles and agile methods. General principles of agile software development, best practices will be discussed. SCRUM will be the main method to be executed.
Last Offered Terms Course Name SU Credit
Fall 2021-2022 Special Topics in CS: Agile Software Development 3
Prerequisite: CS 308 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 48006 Special Topics in CS: Decentralized Finance 3 Credits
Introduction and Overview of DeFi, Centralized/Traditional Finance, Decentralized Finance, Introduction to Blockchain Technology, Smart Contracts, Lightning Network, Rollups, Bridges, DeFi Assets and Engineering, Decentralized Exchanges, Decentralized Lending, Stablecoins, Oracles, Synthetics and Derivatives, Security and Privacy of DeFi, Decentralized Identities, Practical DeFi Security, Zero-Knowledge Techniques, Regulatory Issues for DeFi
Last Offered Terms Course Name SU Credit
Spring 2022-2023 Special Topics in CS: Decentralized Finance 3
Prerequisite: CS 48001 - Undergraduate - Min Grade D
or CS 438 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 48007 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: CS 204 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements:
 
CS 48008 Special Topics in CS: Malware Analysis and Detection 3 Credits
Introduction to Malware Analysis - Classification of Malware -Environment Setup for Safe Analysis -Malware Analysis in Virtual Machines Basic Analysis -Basic Static analysis -Basic Dynamic analysis Advanced Static Analysis -Reverse engineering basics - Review of x86 assembly -Disassembly with IDA Pro & other tools -Recognizing C Code Constructs in Assembly -Analyzing Malicious Windows Programs Advanced Dynamic Analysis -Debugging with OllyDbg & x32dbg -More hands on malware analysis practice Analyzing Java Binaries Analyzing .NET Malware Malware Analysis with Ghidra Malware Functionality Malware Behavior & Covert Malware Launching Analyzing Malware Obfuscation Malicious document analysis (PDF, docs, macros) Basics of Window operating system
Last Offered Terms Course Name SU Credit
Spring 2023-2024 Special Topics in CS: Malware Analysis and Detection 3
Prerequisite: CS 408 - Undergraduate - Min Grade D
Corequisite: __
ECTS Credit: 6 ECTS (6 ECTS for students admitted before 2013-14 Academic Year)
General Requirements: