Programming course descriptions catalogue


Computer Programming I

Introduces programming concepts within social, cultural, scientific, mathematical, and technological context. Topics include programming fundamentals (control structures, data types and representation, operations, functions and parameters), computer organization, algorithmic thinking, introductory software engineering concepts (specifications, design, testing), and social and professional issues.

Computer Programming II

Transition from basic programming skills to a rigorous process of software development. Familiarization with higher level programming techniques (recursion, generic programming, stacks, queues, trees, searching, and sorting). Emphasizes connection between algorithmic thought and implementation.

Software Engineering

Surveys the software engineering processes, tools, and techniques used in software development and quality assurance. Topics include life-cycle models, process modeling, requirements analysis and specification techniques, quality assurance techniques, verification and validation, testing, project planning, and management.

Datastructures, Algorithms, and Discrete Mathematics I

Integrating mathematical principles with detailed instruction in computer programming. Explores mathematical reasoning and discrete structures through object-oriented programming. Includes algorithm analysis, basic abstract data types, and data structures. May not be repeated.

Introduction to Artificial Intelligence

Principal ideas and developments in artificial intelligence, such as problem solving, knowledge representation, search, reasoning under uncertainty, learning, and natural language processing.

Technical Writing for Computing Professionals

Explores the most effective methods of communication based on the common expectations for computing and other engineering professionals. Examines various writing patterns commonly used in technical writing, including compare/contrast, persuasive, process, instructions, and problem/solution, and when/why is used.

Data Structures, Algorithms, and Discrete Mathematics II

Develops competencies associated with problem-solving, algorithms, and computational models. Explores algorithm development and analysis; abstract data types including trees, priority queues, heaps, graphs, and hash tables; use of object-oriented design/programming and design patterns; regular expressions; and language modeling.

Machine Intelligence

Basic machine learning (ML) and artificial intelligence (AI) methods and the related techniques used in modern AI systems. Students learn about both the theory of the algorithms and the challenges of implementing them in a modern programming language.

Artificial Neural Networks

Application of biological computing principles to machine problem solving. State of the art in artificial neural networks (ANNs), including vision, motor control, learning, data analysis. Topics include ANN architectures, algorithms: perceptrons, Widrow-Hoff, backpropagation, Hebbian networks. May not be repeated.

Computer Vision

Methods for extracting content from digital images. Topics typically include linear filters, edge detection, segmentation, stereo vision, motion estimation, and object recognition: Examines applications of computer vision, such as image databases and robot navigation.

Hardware and Computer Organization

An introduction to the architecture, operation, and organization of a modern computing machine. Topics covered include basic logic operations, state-machines, register models, memory organization, peripherals, and system issues. Assembly language taught in order to understand the instruction set architecture and memory model of the computer. May not be repeated.

Operating Systems

Principles of operating systems, including process management, memory management, auxiliary storage management, and resource allocation. Focus on the structure of the popular desktop and real-time operating systems. May not be repeated.

Network Architecture And Management

Examines configuring, deploying, managing, maintaining, and troubleshooting network infrastructure. OSI and TCP reference models, TCP/IP suite of protocols, LANs, WANs, design methodologies, security, firewalls, VPNs, IDSs, IPSs, VOIP, packet vs. circuit switching, router configuration, ICMP, SDN, cloud design and operations, data centers, and optimization are explored. Oriented toward network operations.

Management Principles for Computing Professionals

Through a team software project, explores critical interpersonal, communication, leadership, decision-making, social, and cultural theories drawn from contemporary research in anthropology, sociology, psychology, and business.


All course descriptions found on MyPlan