8/16/2023
Course Introduction
Brandon Krakowsky
Introduction
Property of Penn Engineering |
Who Am I?
• I’m the Lecturer for this Programming Languages & Techniques course
• I’m also the Research & Education Director at Wharton Customer Analytics
• What is Wharton Customer Analytics?
- We partner with companies to provide real-world datasets to Penn students, faculty, and
academic researchers for data and analytics projects
- We teach in-person technical workshops and build online courses for undergrads and MBAs
to hone their data management and technical skills
Property of Penn Engineering |
1
8/16/2023
What’s My Background?
• I started out as a musician … then worked in radio broadcasting and audio production
• I started doing Flash programming … and I developed a live web conferencing platform for Big
Pharma
• I received my Masters in Computers & Information Technology from UPenn
• I worked as a programmer at the School of Design
• I started my own company BLeeK, LLC doing programming and freelance web development
• I worked as an application developer for Wharton Computing
• I became the Research & Education Director at WCA
• Most recently, I became a Lecturer at Penn Engineering
Property of Penn Engineering |
More About Me – I Play Bass
Property of Penn Engineering |
More About Me – I Like My Dog, We’re Close
Property of Penn Engineering |
2
8/16/2023
OK, Enough About Me!
Property of Penn Engineering |
About This Course
Property of Penn Engineering |
Who Is This Course For?
• Master’s students who are not in the Department of Computer and Information Science
• People who want to learn the basics of programming and have never programmed before
• People who have programmed before but have not used that skill in a long time (let’s say …
more than 5 years)
Property of Penn Engineering |
3
8/16/2023
Do Not Take This Course If…
• You have written a substantial project/program in any programming language
- Programming languages come and go, you do not need to take this course just to learn a
new language
• You have a lot of other coursework
- There will be programming assignments every week – most of them are very time
consuming
- Debugging code takes an unpredictable amount of time!
Property of Penn Engineering |
10
What Will You Learn in this Course?
• Intro to programming using Python
• Code syntax
• Style and conventions
• You will also learn:
- Code testing
- Code debugging
- Code design
- Code documentation
- Computational thinking!
Property of Penn Engineering |
11
Course Topics for Python
• Intro to Programming/Python,
& Jupyter Notebook
• PyCharm, Tuples & Sets
• Variables, Conditionals, & IDLE
• Unit Testing
• Intro to Lists, Loops
• Dictionaries
• Functions & Modular Programming
• Files
• Lists & Strings
• Data Analysis
• Object-Oriented Programming
Course topics are subject to change!
Property of Penn Engineering |
12
4
8/16/2023
Python
• Why begin with Python?
- Great first language and easy to get up and running quickly
- Easier to learn than Java
- Allows you to spend more time thinking about programming logic and algorithms, and less
time thinking about code syntax
Property of Penn Engineering |
13
Resources
• I am providing these books here because they are an easy read for students who would like to
supplement the lectures with additional reading
- Python in Easy Steps (by Mike McGrath)
• These books are entirely optional
- I will not cover exactly the same material nor will I assign readings from them
Property of Penn Engineering |
14