Structure and Interpretation of Computer Programs
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Course Information
Course Title: Structure and Interpretation of Computer Programs
Course Number: 078
Section: 201
RegID: 119980 Units: 4
Catalog Description
This course covers the elements of the functional, object-oriented, and declarative
programming paradigms. Topics include procedural abstraction; control abstraction
using recursion, higher order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using
interpreters and macros. Students will complete several significant programming projects using Python. The central idea in this course is the management of program complexity through abstraction.
Student Learning Objectives
Upon completion of this course, students will be able to:
. Design, implement, test, and debug programs that employ procedural
abstraction: basic computation, control structures, and the definition and use of functions.
. Write computer programs that employ data abstraction using interfaces, objects, classes, and generic operators.
. Describe and apply the basic elements of the functional, object-oriented, and declarative approaches to computer programming.
. Complete a significant programming project using Python.
Course Prerequisites
Math 066 or Math 071 with a grade of “C” or better
Term and Year: Spring 2024
Meeting Times: Asynchronous Fully Online
Start Date: January 29. 2024
End Date: May 24, 2024
Required Course Textbook:
Composing Programs, by John DeNero. On-line text, composingprograms.com.
Recommended book on Python:
How to Think Like a Computer Scientist: Interactive Edition, by Allen Downey.
Grading Policy |
|
|
|
|
Grade Composition |
|
|
Letter Grade |
|
Discussion Posts |
50 |
points |
A = 450 points |
and above |
Programs |
150 |
points |
B = 400 – 449 |
|
Two Examinations |
150 |
points |
C = 340 – 399 |
|
Programming Project |
50 |
points |
D = 280 – 339 |
|
Final Exam |
100 |
points |
F = Under 280 |
points |
Total 500 points
Discussion Posts
A discussion prompt will be posted about every 3 weeks at the beginning of the week. Every Thursday, students are expected to provide an initial response to the prompt (5
points). By the following Sunday, students will respond to two peers’ posts to the same prompt (5 more points). Each response (initial and peer) must be written in complete
grammatically correct sentences and include at least two references to the weeks’
material to substantiate their opinion. Late posts will receive a 10% reduction but will be accepted only up to one day late. Initial responses will always be due on Thursday by 11:59 PM; peer responses will always be due on the following Sunday by 11:59 PM. Note: Discussion posts or responses will not be accepted after that Sunday.
Programming Assignments
You will be required to complete several programming assignments. All these
assignments can be found on Canvas. The material you send me must contain the
source code with comments that include your name, the assignment number, and a
description of the problem you are solving. Programs will be graded on functionality,
organization, readability (which includes the proper use of naming and indentation), and testing.
When you upload an assignment, you must name the files exactly as required in the assignment or you will be penalized on your grade for that assignment.
Examinations
The two examinations are scheduled for Saturday, March 2 and Saturday, April 13.
Exams will cover the material in the text and the course slides. The final exam will cover only material presented after the second exam, and is scheduled for Thursday, May 23.
Attendance Policy
1. If you decide to drop this class, it your responsibility to withdraw from the course.
2. You may be dropped if you are not completing assignments and I don’t hear from you.
3. Last day to drop without a “W” on your record is Sunday, February 11. 4. Last day to drop with a “W” on your record is Thursday, April 25.
Other Policies
Assignments are to be submitted on or before their due dates (which are posted on
Canvas). If turned in late, you will receive reduced credit; one letter grade per day, up to two days late. There are no make-up examinations in this class. However, you may
request to take a test at a different time, so long as your request is made in advance of the scheduled examination and is submitted in writing. Your request may or may not be granted. All examinations must be taken to complete this course.
Discussion about programming assignments is encouraged, but you must each do your own work. Cheating and plagiarism will be met with an F grade on the assignment.
Using ChatGPT or other generative AI tools for your discussions or programs will also result in an F grade for that assignment. See the EVC catalog for the details on our College Honesty Policy as well as student disciplinary and grievance procedures.
Learning Environment
We strive to establish a class atmosphere that is welcoming and inclusive so that students may bring their authentic selves and work to reach their potential. We
recognize the value and individuality that each student brings – our learning experience becomes all the richer when we hear from different perspectives. As such, we support all students equally, without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.
Netiquette (Conduct Online)
Any student who posts a message that is deemed by the instructor to be derogatory, abusive, threatening, sarcastic, rude, inflammatory or otherwise offensive shall immediately have his or her Discussion Forum privileges suspended pending an investigation into the matter. Further postings of a like nature shall be punishable under the conditions specified in the Code on the entry page of Canvas.
Student Support
At EVC, we care about you – all of you! That is why we provide services to support you in many aspects of your life, not just the academic.
Special Learning Needs Related Accommodations
If you have a learning or physical need that requires special accommodations in this class, please make an appointment with theDisabilities Support Program. If you require any special accommodations for this class, please contact me by the end of the first
week of class (sooner if possible) to ensure a quality learning experience. I will be happy to work with you to meet your specific needs.
EVC Basic Needs and Wellness Services
If you could use help with food or finances, EVC has a lot to offer! Check out these
resources forBasic Needs(food, groceries, store vouchers, clothing, showers, toiletries, and emergency grants.)
EVC’s Health and Wellnessservices provide physical, mental, and emotional health services.
Maxient
Maxient is a centralized reporting and record-keeping system that helps EVC connect
the dots and prevent students from falling through the cracks. Whether it’s student
discipline, academic integrity, care and concern records, student rights, and grievances, Title IX matters, or just an “FYI”, Maxient helps ensure EVC remains a caring campus by helping to coordinate the efforts of various departments to provide timely follow-up and support to students, staff, and faculty.
These Maxient formscan be used to provide information or report issues or concerns within our EVC community to ensure the above EVC Maxient commitment is met.
Tutoring
The EVC tutoring center provides free tutoring services and support in various subjects for registered EVC students. The tutoring program also recruits and trains new student tutors each semester, providing job opportunities for students during their academic time at EVC. Tutoring is available on a drop-in, open-lab basis and appointments are not
necessary.
Visit theCampus Tutoring Website.
Tech Support
I don't want the course technology to get in the way of your learning! If you have any questions about how this class works on Canvas, don't hesitate to contact me. I can usually help or point you in the right direction. You can also take advantage of the
following free resources for tech support:
. EVC hotspot loaner program(select “Technology”)
Canvas Support & Hotline
Click the "Help" icon on the left menu for the Canvas hotline and a variety of options for getting immediate assistance.
Student Login Instructions: How toLog in to Canvas
Technical Support: Mon-Fri, 7:00 a.m. to 5:30 p.m., contact the District Help Desk athelpdesk@sjeccd.eduor (408) 270-6411
After Hour Technical Support: Mon-Fri, 5:00 p.m. to 8:00 a.m. and weekends(24x7), contact Canvas Support Hotline: EVC call 844-303-5596 or email:
. A free Canvas app is available for you to connect to our site with your mobile device. Here’s the complete instructions of freeCanvas App.
Study Hints for this Course
1. Read the assigned materials before you begin the programming assignments.
2. Type in example programs from the text and try them. Don’t just copy and paste.
3. Feel free to extend or modify example programs in the text.
4. Allow plenty of time for completion of programming assignments.
5. Re-read the assigned materials and review your notes.
6. If this is your first online experience, expect to invest extra time to orient yourself to the course design and tools.
7. Block out time on your schedule to do the work.
8. Check in on discussions and try to contribute and share anything unique you have tried with your peers.
Please do not hesitate to ask for help when you need it.
2024-02-08