Lecture 1 CE 232 - Programming with Python - Course Introduction

1. Course Outline:
a. Python Basics (the language itself)
1) Datatypes:
int, float, string, tuple, list, matrix, dictionary
2) Functions
iteration, recursion, control flow,  data I/O
3) Object Oriented Programming
class, methods, inheritance
4) Plotting
line curve, bar chart, error bars

b. Python Applications
1) Binary Basics and Circuit Theory
2) Python and Embedded Systems
GUI (graphical user interface), GPIO, ADC, sensors
3) Data Analysis

2. Grading

Homework 40%
Three in-class exams and quizzes 40%
Final 20%


3. Textbooks

Allen B. Downey, Think Python: How to Think Like a Computer Scientist 2nd Edition. (Required).

(50% of this course contents are from this book. A good book on the language itself. Good for beginners)


The Think Python book has free electronic versions from the publisher so you don't have to buy the book but have a paper copy is very handy.

http://greenteapress.com/thinkpython2/thinkpython2.pdf

Available on Amazon:
https://www.amazon.com/Think-Python-Like-Computer-Scientist/dp/1491939362/ref=sr_1_3?ie=UTF8&qid=1546105978&sr=8-3&keywords=think+python+2

Eric Matthes, Python Crash Course: A Hands-On, Project-Based Introduction to Programming. (Required).

(20% of this course contents are from this book. This book is more concise on the Python fundamentals. The projects in the book are very interesting)

Available on Amazon:

https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036/ref=sr_1_3?ie=UTF8&qid=1546106147&sr=8-3&keywords=Python+Crash+Course


Bradley Miller, Problem Solving with Algorithms and Data Structures Using Python SECOND EDITION 2nd Edition. (Recommended)

(Less than 10% of this course contents are from this book. More advanced data structures/algorithms are covered in this book). 


Free online version from the publisher:
http://interactivepython.org/runestone/static/pythonds/index.html

The rest 20% of the course contents are from the internet.


4. Attendance
Attendance will be counted in the first two weeks.
Continuously being absent without notice will fail you from this class.
Lecture videos (the video may need to buffer a little bit before you can play them all if the internet bandwidth is poor), notes, codes will be available online the same day as the lecture is given. Check out the videos and complete the homework assignments if you cannot present.

5. Homework assignments, quizzes, and exams
a. Have all your code in a '.py' script file. Label different tasks using the '# Task X'. All the sections must be independently executable. I'll execute it and give you the grade.
b. Send your '.py' file to email: homeworkflc02@gmail.com. Don't forget to put 'Homework XX (the homework No.)' in the subject line. (Points will be taken off if the subject line and the required attachments are missing).
c. Feedback and grades will be given through emails.
d. Quizzes will be given when it is necessary. I'll give you an early notice on the quiz in advance.
e. We'll have three exams and one final exam. Totally 4 exams in the semester.
f. Some of the exams may be open-book, open-notes, and open-internet.

6. Course website
Syllabus:
http://yilectronics.com/Courses/CE232/Spring2019/CE232_2019s.html

Lectures/videos/assignmetns/solutions and more:
http://yilectronics.com/Courses/CE232/Spring2019/lectures.html

Current grade sheet:
The link can be found on the course syllabus page:
http://yilectronics.com/Courses/CE232/Spring2019/CE232_2019s.html

7. Office hours: MWF: 9:30 – 11: 30 am, from 1/7/2019 – 4/26/2019, location: SFH 2755B



Tasks for today:
Explore the Spyder IDE and try the following testing code in Spyder.
The print() function and the Single & Double quotation marks.




Send your '.py' file to the email: homeworkflc02@gmail.com