Page 99 - University Bulletin
P. 99

98





                CS 210  DATA STRUCTURE AND ALGORITHMS
                Credits: 3(3,1,0) Prerequisite:   CS 102
                   This  course  introduces  classical  data  structures  and  algorithms  with  emphasis  on
                   performance using asymptotic analysis of algorithms and complexity classes. Fundamental
                   data structure includes lists, stacks, queues, heaps, trees, and graphs. The student will
                   learn a variety of algorithms for searching, sorting, traversing and hashing.  In addition, the
                   course covers the application of these data structures and algorithms in real-life problems
                   and implementing them in modern programming languages.


                CS 223  COMPUTATIONAL LINEAR ALGEBRA
                Credits: 3(3,1,0) Prerequisite:   MATH 113
                   The course introduces the fundamentals of linear algebra in the context of computer science applications.
                   Includes matrices, determinants, systems of linear equations, Euclidean vector spaces, real vector spaces,
                   inner  product  spaces  of  linear  equations,  eigenvalues  and  eigenvectors,  linear  transformation,
                   applications.  The  course  represents  basic  concepts  and  techniques  from  linear  algebra  that  will  be
                   required in later courses in areas such as machine learning, computer graphics, and quantum computing.


                CS 225  SOFTWARE ENGINEERING: DESIGN AND DEVELOPMENT
                Credits: 3(3,1,0)     Prerequisite:  CS 210

                   This course serves as an introduction to software engineering design and development.
                   Students learn various aspects of software development stages. The following aspects of
                   software  are  reviewed  as  well:  process  models,  life  cycles,  requirement  analysis,
                   documentation, design methodologies, development strategies and project management.
                   The  course  emphasizes  the  development  of  high-quality  software  using  software
                   engineering best principles.


                CS 285  DISCRETE MATHEMATICS FOR COMPUTING

                Credits: 3(3,1,0)    Prerequisite:   CS 101
                   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


                CS 311  DESIGN AND ANALYSIS OF ALGORITHMS

                Credits: 3(3,1,0)    Prerequisite:   CS 285,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.
   94   95   96   97   98   99   100   101   102   103   104