Introduction to Unix/Linux
Introduction to using the Unix/Linux operating system. Unix/Linux file management and common text processing utilities including searching.
Introduction to using the Unix/Linux operating system. Unix/Linux file management and common text processing utilities including searching.
The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
This course covers programming fundamentals using the C++ language, using procedural and object-oriented approaches to problem solving. Topics include structured elements, classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, pointers, files, design and implementation of abstract data types, in numerical and non-numerical applications.
Basic computer organization including the von Neumann architecture, the instruction cycle, parts of a CPU (central processing unit), pipelining, memory hierarchy, and interrupt handling. Representation of numerical and non-numerical data. Translation to assembly code from high-level constructs such as if statements, loops, and function calls.
This course covers programming fundamentals using the Python language. Python is interpreted, interactive, and object-oriented. Recommended for general-purpose programming, system administration, or web programming. Topics include classes, objects, inheritance, polymorphism, design and implementation of abstract data types, dictionaries, lists, list comprehensions, files, modules, and mutable and immutable types.
This course covers programming fundamentals using the Java language, emphasizing an object-oriented approach to problem solving. Topics include classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, files, design and implementation of abstract data types, in numerical and non-numerical applications.
A course in the use of SQL database management systems to create, query, and update database tables. The course covers both the syntax and the logic of the major features of the SQL language. It also covers a brief overview of NoSQL (Not Only SQL) data sources such as JSON and MongoDB.
Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to solve problems with computers by designing and implementing algorithms, and how computing fits into larger social issues.
Programming fundamentals using multiple processors or computers to solve a problem. Mechanics of computation, multi-tasking, multi-threading, and object-oriented approaches to managing many computing elements working on the same problem. Programming for Cloud computation, Big Data access, and highly parallel computing hardware, e.g. multi-core processors and Graphics Processing Units (GPU).