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 laptop loaner program

.   EVC hotspot loaner program(select “Technology”)

.   Low-cost Internet resources

.   EVC computer lab

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:

[email protected]

.    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.