Introduction to Programming

Objectives

In this course, you will learn the basics of programming, and industry-standard practices for software development. By the time you finish the course, you will understand the vocabulary, processes, and tools of modern software development.
You will learn how to use Python, one of the most popular programming languages used by business analysts and data science professionals.
Alongside programming, we will explore a variety of technology topics, like big data, cryptocurrency, and the application of data science to real-world contexts in business and social policy.


General characterization

Code

2477

Credits

7

Responsible teacher

Andrew Loren Bell

Hours

Weekly - Available soon

Total - Available soon

Teaching language

English

Prerequisites

Available soon

Bibliography

Selected resources will be from free, open knowledge sources.

Teaching method

In the course you wil learn-by-examples, learn-by-teaching, and learn-by-doing. Each class will be taught as a workshop in which we will alternate between 15-45 minutes of lecture followed by 15-45 minutes of exercises. The length of each section will depend on the difficulty of the subject. It is stronly recommended that you bring a laptop to class to follow along with in-class demos.
At the beginning of each class, the students will be given a 15 minute quiz that will cover the contents of the previous class. Material for learning will be assigned at the end of each class. There will be no midterm, but there will be a comprehensive final exam.
Students will also complete a final programming project.


Evaluation method

What    Weight
Final Exam    30%
12 assignments
Assignments are a variety of in-class quizzes, in-
class challenges, out-of-class challenges, and out-of-class homework    70% (7% each)
The top 10 out of 12 assignments will be used to calculate your grade
Project    Ungraded
Completion of the project is required for completion of the course

Subject matter

The major topics are of the course are as follows:
•    Python programming language
•    General programming principles, including the “core 5 topics” (variables, conditionals, loops, functions, and classes)
•    An introduction to basic algorithms (such as identifying a prime number, and sorting a list of numbers)
•    Coding in a team
•    Basic web development
•    Applied programming in business and policy
•    Seminars on a variety of technology & programming related topics ranging from data science in healthcare to blockchain and cryptocurrencies