Instructor | Dr. Kenneth A. Lambert |
Office | Parmly Hall 406 |
Phone | 458-8809 |
lambertk@wlu.edu | |
Home page | http://home.wlu.edu/~lambertk/ |
Lecture | M/W/F 1:30 PM-2:30 PM, Parmly 405 |
Lab | T 1:30-4:30, Parmly 405 |
Office Hours |
M/T/W/F 10:30-11:30 AM, or by appointment |
This is an introductory course in programming and problem solving. Topics include
Classroom work will consist of lecture, discussion, and lab experimentation. Written work will consist of weekly programming projects, weekly quizzes, and a comprehensive final exam.
After taking this course, you should be able to
The following textbook is required:
Lambert, Fundamentals of Python: First Programs, Second edition (Course Technology, 2019, ISBN-13: 978-1-337-56009-2). |
The written work for the course will consist of
Programs turnin in with syntax errors will receive no credit. A failing grade on the final exam will entail a failing grade for the course.
The final exam for this course will be given during the final exam week. You can take this exam during any of the regularly scheduled exam periods that week. You must supply an exam envelope to the instructor or the department administrative assistant no later than noon on the last day of class. You must specify a provisional day and time on the envelope, which you are free to change on the clipboard provided outside the door of Parmly 407 any time that week. Email or phone requests to reschedule will not be accepted.
The exam will be given in Parmly 405, and you should arrive promptly before the appointed time. If you are more than 15 minutes late, you will have to reschedule your exam. If you are more than 15 minutes late to the last exam period on Friday morning, you will receive a grade of 0 on your exam.
Students who have approved academic accommodations must make arrangements to use those accommodations directly with the instructor no later than the last day of class. Students approved for extra time will receive that time at the tail end of the morning exam period or before the beginning of the afternoon exam period (for example, ending at 1:30 PM for a morning exam or beginning at 12:30 PM for an afternoon exam). Students approved for a low-distraction testing location should reserve that space during the last week of classes (following instructions distributed by Director of Disability Resources Lauren Kozak.
The quizzes and the final exam should be written individually and pledged.
Although you may discuss programming problems among yourselves, your programs should be your own work, unless otherwise specified (as when you do pair programming). You MAY use code from the PowerPoint slides or from the textbook for the course. Otherwise, you may NOT use the work of your classmates, former students, friends, or anyone else in writing your programs. By "use" I mean turning in the work of others as your own, or even casting your eyes upon the work of others with a view to incorporating their solutions into your own. Deliberate concealment of sources constitutes plagiarism and will result in a failing grade for the course and a report to the EC. Deliberately providing solutions to other students, either verbally or in writing, via hardcopy or electronic transmission, will result in a failing grade for the course and a report to the EC. In particular, you may not share your work until the deadline to hand in material has passed. Please familiarize yourself with W&L’s policy on plagiarism.
Washington and Lee University makes reasonable academic accommodations for qualified students with disabilities. All undergraduate accommodations must be approved through the Title IX Coordinator and Director of Disability Resources, Elrod Commons 212, (540) 458-4055. Students requesting accommodations for this course should present an official accommodation letter within the first two weeks of the term and schedule a meeting outside of class time to discuss accommodations. It is the student’s responsibility to present this paperwork in a timely fashion and to follow up about accommodation arrangements. Accommodations for test-taking must be arranged with the professor at least a week before the date of the test or exam, including finals.
Monday |
Tuesday |
Wednesday |
Friday |
|
Sept 2 Week 0 |
|
Introduction Chapter 1 |
||
Sept 9 Week 1 |
Overview of the programming process Chapter 1 |
Lab 1 First programs |
Data types, literals, variables, expressions, and I/O Chapter 2 |
The software development lifecycle |
Sept 16 Week 2 |
Control: definite iteration Chapter 3 |
Lab 2 Simple loops |
Control: if statements and selection Chapter 3 |
Control: conditional iteration Chapter 3 |
Sept 23 Week 3 | Strings Chapter 4 |
Lab 3 Conditional loops |
Number systems Chapter 4 |
Working with files Chapter 4 |
Sept 30 Week 4 |
Defining simple functions Chapter 5 |
Lab 4 Files |
Working with lists Chapter 5 |
Case study: a sentence generator program Chapter 5 |
Oct 7 Week 5 |
Working with dictionaries Chapter 5 |
Lab 5 Text processing Non-directive psychotherapy |
Top-down design with functions Chapter 6 |
No Lecture Reading Day |
Oct 14 Week 6 |
Default and optional parameters Higher-order functions Chapter 6 |
Lab 6 Functions |
Managing the namespace Chapter 6 |
Graphics Chapter 7 |
Oct 21 Week 7 |
Graphics Chapter 7 |
Lab 7 Turtle graphics |
Object-based programming Chapter 7 |
Image processing Chapter 7 |
Oct 28 Week 8 |
Image processing |
Lab 8 Images |
GUI programming Chapter 8
|
GUI programming |
Nov 4 Week 9 |
GUI programming
|
Lab 9 GUI programming |
Defining Classes Chapter 9
|
No lecture: Reading day |
Nov 11 Week 10 |
Defining Classes
|
Lab 10 GUI programming |
Defining Classes Chapter 9 |
Defining Classes Chapter 9 |
Nov 18 Week 11 |
Model/View/Controller Design Pattern Chapter 9 |
Lab 11 Defining Classes |
Data Persistence Chapter 9 |
Networks Chapter 10
|
Dec 3 Week 12 |
Networks |
Lab 12 Networks |
Searching and Sorting Chapter 11
|
Conclusion |
3-Basic Elements: Input, Computations, Output
5-Definite Loops: The for Statement
6-Making Choices: if Statements
7-Indefinite Loops: The while Statement
11-Introduction to Programmer-Defined Functions
14-Dictionaries and the Doctor Program
16-Default and Optional Parameters and Higher-Order Functions
19-Advanced Turtle Graphics: Recursive Patterns in Art and Nature
21-Introduction to Digital Image Processing
22-More Digital Image Processing
23-Introduction to Graphical User Interfaces
24-Windows, Labels, and Command Buttons
25-Panels, Data Fields, and Message Boxes
26-Text Areas, Radio Buttons, Check Buttons, Prompter Boxes, and Working with Colors
28-Data Modeling with Classes I
29-Data Modeling with Classes II
30-The Model/View/Controller Design Pattern
31-Persistent Data and Object Serialization
32-Networks and Client/Server Programming
All Projects (Sakai site)