General Class Info
Meeting time and place: M/W 1:00 PM – 2:45 PM, 004 Drake Hall
Textbook: Python for Software Design: How to Think like a Computer Scientist by Anthony B. Downey
Course Description
In this course, you will learn the fundamentals of software engineering. You'll be introduced to the concept of a programming language and learn about all the basic constructs from which programming languages are comprised. You'll also be introduced to best practices used in the software development process.
Professor
Jeremy Keffer
Office: 103 Smith Hall
Office Hours: Wed 3:00 PM – 5:00 PM
Email: jkeffer at udel.edu
Teaching Assistant
Ivanka Li
Office: 103 Smith Hall
Office Hours: Tues 3:00 PM – 5:00 PM
Email: ivanka at udel.edu
Schedule (Tentative)
| Week | Starts | Book Chapters | Objectives |
|---|---|---|---|
| Week | Starts | Book Chapter | Objectives |
| 1 | June 6 | 1 | Introduction to Python and UNIX. |
| 2 | June 13 | 2 | Basic syntax and semantics. Expressions, variables, types. |
| 3 | June 20 | 3, 4 | Functions and the stack. |
| 4 | June 27 | 1 - 4 | Review for midterm |
| June 29 – First Midterm | |||
| 51 | July 6 | 4 | loops |
| 6 | July 11 | 5, 6 | conditionals and recursion |
| 7 | July 18 | 7 | more conditionals, loops and recursion |
| July 20 – Second Midterm | |||
| 8 | July 25 | 8, 9 | Strings and string manipulation |
| 9 | August 1 | 10 | Lists and algorithms on them |
| 10 | August 8 | N/A | Introduction to the MatLab language |
| August 12 – Final Exam | |||
1No class on July 4th!
Grading
Labs – 20%
First Midterm – 14%
Second Midterm – 14%
Project – 24%
Final – 24%
plus four percent for doing the online course evaluation at the end of the semester.
The numerical scores will be combined, not the letter grades. Since the assignments and exams are not standardized, your course grade will depend not only on the weighted score you receive, but also on how your score compares with the score distribution for the whole class.
Policies
All assignments are due by 11:55 PM on the due date. Submit all relevant files on Sakai.
Lab assignments that are late are assessed a 10% per day late penalty. Late labs will not be accepted more than seven days after the due date.
Project assignments will be accepted until the following class period after the due date but will be assessed a 10% late penalty. Projects will no longer be accepted after the start of class following the due date.
-
All work on assignments must be your own. Do not collaborate with other students or copy their work. Do not copy from a book or other source unless I say otherwise. You may consult with each other about conceptual problems, but see the TA or me for help with details or debugging.
If you get text or code from any source, including webpages on the Internet, books or other students, and present it as if it were your own, that is plagiarism. If the TA or I discover that you have plagiarized, I am obligated to report the incident to University authorities above the CIS Department. You must acknowledge and document such borrowings if you do use them. If they significantly reduce the amount of work you have to do for an assignment, you will lose points [this part of the policy may change; I will tell you if it does]; the grade you get is for your work, not somebody else's.
Attendance during exam days is required. If you miss an exam, you will not be able to make it up without a solid excuse (e.g. Doctor's note.)