Courses

COP 2006 Programming I - 3 credit(s)

Sections:

View sections

    Description

    Introductory computer programming concepts and problem solving skills are learned using a modern programming language. Principles of good programming style are emphasized. This course is delivered in C++/Java unless noted otherwise.


    COP 2001 Programming Methodology - 3 credit(s)

    Sections:

    View sections

      Description

      Advanced computer programming concepts and problem solving are explored using a procedural programming language and software tools. Topics include pointers, dynamic memory allocation, string handling, structures, file I/O, and recursion. Includes two hours of lecture and one hour of lab per week.


      COP 3003 Programming II - 3 credit(s)

      Sections:

      View sections

        Description

        Students will expand on their knowledge base and skills gained from introductory programming. Topics include modularity, object-oriented concepts, error handling, generics/templates, dynamic memory management, and reuse of APIs and frameworks. This course is delivered in C++ unless noted otherwise.


        CDA 3104 Computer Organization & Assembly Language Programming - 3 credit(s)

        Sections:

        View sections

          Description

          Covers the basic concepts of computer organization using a computer platform or a simulator and the corresponding assembly language. Topics include Boolean algebra, logic gates, registers, memory models, CPU structures, procedures, stack frames, and interrupt handling.


          CDA 3200 Digital Systems & Architecture - 3 credit(s)

          Sections:

          View sections

            Description

            Covers design and application of data paths, controllers, memory systems, and registers involved in digital systems. Includes finite state machines, logic gates, and Boolean algebra.


            COP 3530 Data Structures & Algorithms - 3 credit(s)

            Sections:

            View sections

              Description

              Data structure design, implementation, application, and analysis are explored. Topics include stacks, queues, linked lists, trees, recursion, and computational complexity of searching and sorting algorithms.


              COT 3400 Design & Analysis of Algorithms - 3 credit(s)

              Sections:

              View sections

                Description

                The design, implementation, analysis, and application of a range of computer algorithms are explored. Function order of growth and amortized analysis are used in analyzing algorithms. A review and extension of data structure topics including trees and graphs are covered. Algorithm design strategies such as divide-and-conquer, the greedy method, and dynamic programming are studied.


                COP 3710 Introduction to Data Engineering - 3 credit(s)

                Sections:

                View sections

                  Description

                  Covers database design and applications of database management systems, relational databases, SQL, data formats such as XML and JSON, and an introduction to NoSQL systems and data analysis concepts.


                  CEN 3941 Internship in Software Engr - 3 credit(s)

                  Sections:

                  View sections

                    Description

                    An experiential learning exercise that allows for practical application of knowledge acquired from the software engineering curriculum or program. Applicable to both unpaid and paid internships held within the current academic year or subsequent summer. This work is usually completed off campus and the student will have a qualified supervisor at the site as well as a faculty mentor who will jointly evaluate the student's progress. Students are expected to have an internship or offer letter prior to the first day of class. Students without active internships will not be allowed to continue in the class.


                    CEN 4930 ST: Embedded Programming - 3 credit(s)

                    Sections:

                    View sections

                      Description

                      A special topics course focused on embedded programming with C++ and Arduino. Emphasizes the interaction between software and hardware in embedded systems and practical design, development, and optimization techniques.


                      EEL 5769 Computer Architecture - 3 credit(s)

                      Sections:

                      View sections

                        Description

                        This course focuses on advanced topics, including memory hierarchy such as caching and virtual memory, pipelining, multiprocessor systems, instruction, data, and thread level parallelism and other contemporary issues in computer architecture.