Hybrid (Mostly online, 5-7 in person lectures, Lab hours as needed)
Python is becoming one of the most popular programming languages in the world. Used to teach programming at six of the top ten computer science programs in the U.S., Python has a reputation for being a well-supported language that is ideal for education. This support and quick learning curve has also made it popular among scientists. This course acts as an introduction to computer programming with the Python programming language. The basics of imperative programming will be covered as well as selected areas of computer science, object oriented programming and data structures. Computer programming is about problem solving so we will begin to think about how to solve problems in discrete steps like computers do. After the beginning of the course, when we have our sea legs, we will begin to introduce ideas from Data Science and use what we have learned about computer programming and problem solving in this area.
Upon completion of this course, candidates can expect to:
- Understand problem solving with computer programming, computational thinking and discrete algorithms.
- Demonstrate experience with the Python programming language and its design environments.
- Have the ability to create well documented computer programs that uses logical constructs and the syntax of the Python programming language.
Unit 1: Basics of a program, variables, assignments, conditionals,controls, programming environments.
Unit 2: Strings, lists, dictionaries, loops.
Unit 3: Functions, modularity, libraries, file i/0, exception handling.
Unit 4: Graphics, data handling, CS topics: sorting, searching, recursion, Big O
Unit 5: Object Oriented programming: classes, methods, constructors, inheritance, polymorphism
Unit 6: Simple Data Structures: stacks, queues, linked lists, trees