Introduction to programming using Python. Design, implementation and testing of programs to solve problems primarily in engineering, mathematics and science. Programming fundamentals, functions, classes, lists, and dictionaries.
In this course, students will study general programming concepts, as well as a modern programming language which illustrates those concepts. Students will design, implement and test Python programs.
At the end of this course when presented with a problem we expect that a student with respond: “Hey, I can write a program to do that!”
You are responsible for all the details in the syllabus below, but here are highlights.
- Grade Points: 1000 points from weekly programming projects, exercises, and two exams.
- Labs including pre-labs are required: your final grade will be reduced if you miss more than two.
- If you collaborate on programming projects, you will get a zero.
- We frequently send email from msu.edu and cse.msu.edu . It is important that you ensure that your email client isn’t routing our emails to Junk — otherwise you will miss critical email about the course.
- Students will take exams remotely through Zoom. We require a camera (e.g., cellphone camera, tablet camera). The camera should be positioned in a way we can see the student, his entire desk and his screen. For exams you must have access to a computer that can run a lockdown browser, e.g. a Chromebook will not work.
- A Chromebook is not a general purpose computer and will not run the IDE used in this course (or any non-browser-based-tool).
Each student’s course grade will be based on the sum of the points earned in the following categories:
|Examinations||(45% of total course points)|
|Computer Projects||(45% of total course points)|
|Chapter Exercises||(10% of total course points)|
To be eligible to earn a non-zero grade in the course, a student normally must earn at least 50% of the total points for the examinations and earn at least 50% of the total points for the computer projects.
The following table gives the scale for course grades:
|4.0||90% of points available|
|3.5||85% of points available|
|3.0||80% of points available|
|2.5||75% of points available|
|2.0||70% of points available|
|1.5||65% of points available|
|1.0||60% of points available|
The instructor reserves the right to adjust the scale for course grades, if necessary. The instructor reserves the right to make changes in the course schedule and syllabus as necessary to facilitate learning.
Important: Students who get a zero (“no credit”) on more than two (2) laboratory exercises will have their course grade reduced by 0.5 for each laboratory exercise missed beyond two. For example, if a student had sufficient points to normally earn a 3.0, but zeros four (4) laboratory exercises, that student’s grade will be reduced by 2*0.5 to a 2.0 course grade.
A midterm examination and a final examination will be conducted during the semester, and will constitute 45% of the total course points. You will be allowed one sheet of notes (8.5×11 inches) both sides, but no electronic devices. Non-native English speakers may bring a paper dictionary.
Students will take exams remotely through Zoom. We require a camera (e.g., cellphone camera). The camera should be positioned in a way we can see the student, his entire desk and his screen. The exam is online and is required to be done through the lockdown browser (failure to use the lockdown browser is grounds for a zero on the exam and possibly the course). Coding keystrokes are recorded. Finally, you are not allowed to use the coding window to test multiple-choice questions.
Labs are mandatory and there will be two laboratory exercises due every week. Missing labs will reduce your final grade (see below).
The labs are designed to be learning tools that complement the lectures and assigned readings. They are designed to be collaborative experiences where students work with each other and the Teaching Assistant to complete the lab exercises.
- Labs are credit/no-credit. To receive credit for a lab
- You must complete the Pre-Lab, before your lab or the pre-lab deadline, whichever comes first. Pre-labs are “warm-up” for the labs and are not expected to be perfect — our expectation is necessarily fuzzy for pre-labs: “you are expected to get most of them correct most of the time.”
- When Mimir tests exist, they test perfection. The Mimir tests allow you to verify that your code is correct. However, you can get credit for correct Lab code that isn’t perfect, i.e. it is possible to get credit for code that fails Mimir tests. (Note that Projects are more strict with respect to Mimir tests.)
- Adhering to the Coding Standard is expected, but expectations are less strict than for Projects.
Online students (Section 730) hand in lab exercises using Mimir and are due at 11:59 PM on the due date (usually Wednesdays and Fridays).
Important: Students who get a zero on more than two (2) laboratory exercises will have their course grade reduced by 0.5 for each laboratory exercise missed beyond two. For example, if a student had sufficient points to normally earn a 3.0, but zeros four (4) laboratory exercises, that student’s grade will be reduced by 2*0.5 to a 2.0 course grade.
Students will be assigned Chapter Exercises (on Mimir). Collaboration is encouraged.
Chapter Exercises constitute 10% of the course points. Chapter Exercises are recorded as Correct/NotCorrect. There is no limit to the number of tries to getting a chapter exercise correct. For each question your solutions will be submitted if you click on either “Submit Assignment” or “Save Work”. Final grades are not recorded until instructors manually hit the “grade” button.
A series of computer projects will be assigned, and will constitute 45% of the total course points. The projects will include the design and implementation of solutions using Python. Projects are submitted through Mimir. Late projects are not accepted (see exception above). If you are unable to complete a project by the due date because of illness or personal emergency, contact your instructor. If appropriate, an extension will be granted.
Programming projects are to be done individually — unlike labs and chapter exercises that are done collaboratively. If a programming project is done in collaboration with another student, you will both be assigned a zero with an Academic Dishonesty report filed with the University : see note about Academic Integrity below.
For submission and auto-testing of projects we use Mimir, a commercial product. There is normally a $25 charge, but don’t pay it because the Engineering Dean has agreed to pay it — details are being worked out at the start of the semester.
Hard Coding: For some tests it is possible to cheat the tests by simply printing the expected output instead of writing code that solves the specified problem. An alternative is to assign a variable with a particular value to achieve the same effect. That is called “hard coding” and will earn a score of zero for the entire project.
A+网课™ 支持PayPal, WechatPay, AliPay等各种付款方式!
E-mail: firstname.lastname@example.org 微信:apluswk