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