Page 187 - University Bulletin
P. 187

CS285          Discrete Mathematics for Computing
               Credits: 3(3,1,0)     Prerequisites: CS101
                   The course introduces the students to mathematical logic, fundamental discrete structures, such
                   as: sets, functions, relations and graphs. Mathematical reasoning and various counting techniques
                   are also covered in the course. Throughout the course students apply the techniques they learn
                   to simplified practical problems. This course prepares the students for higher level computing
                   courses where these concepts are of fundamental importance

               CS311          Design and Analysis of Algorithms
               Credits: 3(3,1,0)     Prerequisites: CS285 and CS210
                   Introduction  to  fundamental  techniques  for  designing  and  analyzing  algorithms,  including
                   asymptotic  analysis;  divide-and-conquer  algorithms  and  recurrences;  greedy  algorithms;  data
                   structures;  dynamic  programming;  graph  algorithms;  and  randomized  algorithms.  Finally,  the
                   course will introduce the different classes of complexity theory, which explain the intractability of
                   some problems and a classification of problems by their complexity.

               CS316          Introduction to AI and Data Science
               Credits: 3(3,1,0)     Prerequisites: STAT101 and CS210
                   The Introduction to AI and Data Science Course merges key concepts from Artificial Intelligence
                   (AI) and Data Science (DS), designed for students eager to learn concepts related to these fields.
                   The  curriculum  includes  AI  problem-solving  strategies,  data  manipulation,  analysis,  and  basic
                   machine learning, as well as Python programming using essential libraries. Students will learn to
                   apply AI and DS techniques to basic real-world scenarios through lectures and hands-on group
                   projects,  enhancing  their  problem-solving  and  analytical  skills.  This  course  aims  to  provide
                   students with the tools needed for academic and professional success in AI and DS.

               CS320          Programming Languages: Concepts and Paradigms
               Credits: 3(3,1,0)     Prerequisites: CS210
                   This course provides Undergraduate Students with an Overview of the Theoretical Foundations of
                   Programming  Languages.  Topics  Covered  in  This  Course  Include:  Introduction  to  Different
                   Language  Paradigms  (functional,  Logic  and  Object-oriented),  the  History  of  Programming
                   Languages  and  Language  Design  Principles,  Syntax  Specification  (using  Bnf,  Ebnf,  and  Syntax
                   Diagrams),  Central  Semantic  Issues  of  Programming  Languages  (declaration,  Allocation,
                   Evaluation). Major Languages Covered Include C, C++, Smalltalk, Java, Ada, Ml, Haskell, Scheme,
                   and Prolog; Many Other Languages Are Discussed More Briefly.

               CS330          Introduction to Operating Systems
               Credits: 3(3,1,0)     Prerequisites: CS175 and CS210 (Software Engineering: CS175 only)
                   This course explores the evolution, services, and structures of operating systems. It covers the
                   basic  concepts  of  operating  system  design  and  implementation  and  management  of  system
                   resources  such  as  Central  Processing  Unit  (CPU),  Input/output  (I/O)  devices,  memory,  and
                   software.  Examples  given  from  modern  operating  systems  such  as  Unix  and  Windows-driven
                   operating systems are closely examined.

               CS331          Data Communications and Computer Networks
               Credits: 3(3,1,0)     Prerequisites: CS175 and CS210
                   This course introduces the basic concepts in data communication and computer networks. Topics
                   covered include the nature of data communication, characteristics of computer networks, the ISO-
                   OSI network protocol layers, topologies and models, error detection and correction codes, and
                   network performance considerations.



                                                           175                 PSU UNDERGRADUATE BULLETIN
   182   183   184   185   186   187   188   189   190   191   192