This course provides an introduction to programming and covers data structures, algorithms, and programming paradigms. This course will present you with the concept of an object as well as the object-oriented paradigm and its importance. A survey of languages is covered and the distinction between interpreted and compiled languages is introduced.
Essentially, computer science is about solving problems with the aid of a computer. It might seem hard to believe, but the first computer that could do the operations of arithmetic and logic was designed by Charles Babbage in 1847. Although a mechanical device, it was designed to print tables needed by mathematicians (e.g. for logarithms) and used for navigation. This computer never worked quite right but also featured the ability to load instructions (programs) on punch cards, which were used in the textile industry to make fabrics.
In this course you’ll learn the art and science of making computer programs. This course focuses on the theories behind computer programming. You will learn about algorithm design and different programming paradigms. To help you understand this theory, examples will be presented in Python, a widely-used and easy to learn programming language.
This course provides guidance to help you demonstrate the following 5 competencies:
- Competency 4015.1.1: Introduction to Computer Programming
The graduate understands the basic concepts of computer programming, including data types, constants, variables, operator types, expressions, and functions.
- Competency 4015.1.2: Basic Constructs of Programming
The graduate understands basic constructs of programming, including decisions and control structures.
- Competency 4015.1.3: Object-oriented Concepts
The graduate understands the object-oriented programming paradigm.
- Competency 4015.1.4: Algorithms
The graduate understands the concept of algorithms, can analyze algorithm efficiency, and understands recursion.
- Competency 4015.1.5: Design Process, UML, and Other Languages
The graduate identifies steps of the design process, UML diagrams, and different programming languages and their applications.