Fall 2024-2025
3 Credit
Section | Day and Time | Course Instructor | Room |
---|---|---|---|
CS 164 - D | Monday 9:00 AM - 10:50 AM | Prof. Mark W. Boady | 3675 Market St. Room 1104 |
Section | Day and Time | Lab Assistant | Room |
---|---|---|---|
CS 164 - 067H | Wednesday 9:00 AM - 10:50 AM | Mark Boady Vanessa Trinh |
3675 Market St. Room 1104 |
Prof. Mark W. Boady
Electronic Mail Address: mwb33@drexel.edu
Webpage: https://www.boady.net
3675 Market – Room 1063
Monday and Wednesday 11:00 - 12:00 PM and 2:00-3:00 PM
TA Office Hours: will be conducted at the CLC located at 3675 Market St. Room 1066.
TA Office Hours Schedule: https://www.cs.drexel.edu/clc
TA Contact Info: can be found under the Faculty Information section of Blackboard Learn. Contact your TA through the CS 164H Discord server for Course Related Questions.
CS Dept. Phone: (215) 895-2669
CS Dept. Fax: (215) 895-0545
CS Dept. Location: 3675 Market Room 1171-A
Introduces the foundations of Computer Programming. Focuses on systematic program design and recursive problem solving. Analyzing problems and defining computational solutions. Creating functions to solve the problem. Testing and analysis the progam to ensure it is correct. Debugging and revising programs towards a final solution. Working with recursive data structures.
The goal of this course is for students to be able to solve problems and design programs. Students will be able to take a problem and describe a computational solution. They will be able to select the correct data structures and functions to implement the solution. They will be able to think about how the code executes and find logical mistakes.
By the end of the course students should be able to:
This course is the first computer programming courses. It is a required course for students majoring in computer science and software engineering. It is also a required course for students pursuing a minor in computer science. It is of interest to students who want a strong foundation in the problem solving tools needed to be good programmers. The goal is for students completing this sequence to be design a program when given a problem description.
None. While there are no formal prerequisites for the course, students are expected to be computer literate. Prior programming experience is not required but is definitely helpful.
How to Design Programs: An Introduction to Programming and Computing (2nd Edition)
Author: Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi
Published: May 4, 2018
ISBN-10: 0262534800
ISBN-13: 978-0262534802
Buy from Amazon
Online Edition
All Drexel students are required to have individual access to a dedicated personal computer which meets minimum specifications, including processor speed, memory and secondary storage requirements, and connectivity to campus network. Please see https://drexel.edu/cci/admissions/graduate-professional-development/admissions-information-and-requirements/computer-requirements-and-skills/ for further information.
The official language used for this course is Racket. It is available for free at https://racket-lang.org.
This course is operating with the Drexel Blackboard Learn (Learn) Course Management System, which allows electronic submission of assignments, quizzes, and lab exercises, and threaded discussion groups. You can access the Drexel Learn course website from the Drexel portal http://one.drexel.edu/. You can also access Drexel Learn from the following page https://learn.dcollege.net/.
Labs | 25% |
Homework | 30% |
Attendance (Lectures) | 5% |
Midterm Exam | 20% |
Final Exam | 20% |
Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.
A+ | 97 - 100 |
A | 93 - 96.99 |
A- | 90 - 92.99 |
B+ | 87 - 89.99 |
B | 83 - 86.99 |
B- | 80 - 82.99 |
C+ | 77 - 79.99 |
C | 73 - 76.99 |
C- | 70 - 72.99 |
D+ | 65 - 69.99 |
D | 60 - 64.99 |
F | 0 - 59.99 |
If you have a documented reason why you cannot submit any work by the cut-off deadline, a special exception may be made. The Professor may also wave the late submission policy for documented special exceptions. Special Exceptions must be approved by the Professor.
To ensure that assignments are done independently, in addition to human observation, we will be running all assignments through a plagiarism detection system. This program uses compiler techniques which are invariant of syntax and style. It has a very high accuracy rate.
The university's Academic Honesty policy is in effect for this course. This policy is available in the Student's Handbook https://drexel.edu/studentlife/community_standards/code-of-conduct/. Please also read the following information from the Provost Office: https://drexel.edu/provost/policies-calendars/policies/academic-integrity/
You must be the sole original author of all assignments and examination solutions in their entirety, unless the instructor explicitly instructs you otherwise in written directions on an assignment or exam. Except where specifically assigned, collaborative work is a violation of academic honesty in this course. You are not to examine, share, or use code/written solutions belonging to someone else, nor may you let anyone else examine or copy your code/written solutions.
Students found in violation of the Academic Honesty policy will receive no credit for the questionable assignment or exam, a half letter grade reduction on the final grade for the course (on the first occurrence), a whole letter grade reduction on each subsequent occurrence(s), and/or will possibly receive a failing grade for the course. In addition, a Drexel University Alleged Academic Misconduct Report will be filed for each occurrence of Academic Dishonesty.
If you are suspected of academic dishonesty, you will receive an email from your course instructor. You will be required to communicate with the course instructor within 72 hours indicating your response to the suspected violation.
Students having difficulty fulfilling the requirements for an assignment without outside help are to seek assistance from a teaching assistant or instructor, not from another student or knowledgeable person.
It is your responsibility to avoid violating the university's policy. If you are unclear as to what the policy means in a particular situation, ask the instructor for clarification before you hand anything in.
See the examples below for clarification of this policy.
The following are acceptable:
These are NOT acceptable:
CCI Commons (3675 Market #1067): https://drexel.edu/cci/current-students/icommons/
Students requesting accommodations due to a disability at Drexel University need to request a current Accommodations Verification Letter (AVL) in the ClockWork database before accommodations can be made. These requests are received by Disability Resources (DR), who then issues the AVL to the appropriate contacts. For additional information, visit the DR website at https://drexel.edu/disability-resources/support-accommodations/student-family-resources, or contact DR for more information by phone at 215-895-1401, or by email at disability@drexel.edu
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:
According to the student handbook (Code of Conduct section), Disorderly Conduct is defined as behavior that disturbs academic study:
Behavior that disturbs the peace, academic study, or sleep of others both on or off campus is prohibited. Examples of disorderly conduct as it pertains to class/research settings includes, but is not limited to the following:
Students are responsible to comply with a reasonable request from a professor, instructor, or other University official regarding appropriate behavior.
Students disrupting online office hours will be asked to stop the disruptive behavior. If they do not stop, the student will be asked to leave the online session, and a formal complaint will be filed with the Office of Student Conduct and Community Standards.
CCI faculty believes and embraces diversity for it fosters innovative, transformative classrooms where optimal learning for students of all identities and backgrounds can occur.
For more information on Diversity and Inclusion in CCI, please visit: https://drexel.edu/cci/about/diversity-equity-and-inclusion-council/
It is important to recognize that some or all of the course materials provided to you are the intellectual property of Drexel University, the course instructor, or others. Use of this intellectual property is governed by Drexel University policies, including the IT-1 policy found at: https://drexel.edu/it/about/policies/policies/01-Acceptable-Use/
Briefly, this policy states that all course materials including recordings provided by the given prior written approval by the University. Doing so may be considered a breach of this policy and will be investigated and addressed as possible academic dishonesty, among other potential violations. Improper use of such materials may also constitute a violation of the University’s Code of Conduct found at: https://drexel.edu/cpo/policies/cpo-1/ and will be investigated as such.
In general, students and others should not record course interactions and course activities in lecture, lab, studio or recitation.
Students who have an approved accommodation from the Office of Disability Resources to record online lectures and discussions for note taking purposes should inform their course instructor(s) of their approved accommodation in advance. The recording of lectures and discussions may only be carried out by the students enrolled in the class who have an approved accommodation from Disability Resources with their instructors’ prior knowledge and consent. Students with approved accommodations may be asked to turn off their recorder if confidential or personal information is presented.
If a student has any comments, concerns, or questions about provided class materials and/ or recording, talk to your course instructor first. If this does not resolve the issue, you can also reach out to the Department Head, and use the process described for a grade appeal to move your concern forward. The process described for grade appeals can be found at: https://drexel.edu/provost/policies-calendars/policies/grade-appeals/
Tentative Course Schedule
Please see the appropriate assignment webpages for a detailed description of course deliverables.
Week | Readings | Assignments | |
1 (Sept. 23, 2024) |
Syllabus Review Prologue: How to Program Chapter 1: Arithmetic | Lab 01 - In Lab Period | |
2 (Sept. 30, 2024) | Chapter 2: Functions and Programs |
Lab 02 - In Lab Period Homework 01 - Friday 11:59PM |
|
3 (Oct. 7, 2024) | Chapter 3: How to Design Programs |
Lab 03 - In Lab Period Homework 02 - Friday 11:59PM |
|
4 (Oct. 14, 2024) |
Chapter 4: Intervals, Enumerations, and Itemizations No Class Monday - Watch Video Recording |
Lab 04 - In Lab Period Homework 03 - Friday 11:59PM |
|
5 (Oct. 21, 2024) |
Chapter 5: Adding Structure Chapter 6: Itemizations and Structures |
Lab 05 - In Lab Period Homework 04 - Friday 11:59PM |
|
6 (Oct. 28, 2024) | Midterm Exam in Lecture | No Labs this week | |
7 (Nov. 4, 2024) |
Chapter 8: Lists Chapter 9: Designing with Self-Referential Data Definitions |
Lab 06 - In Lab Period Homework 05 - Friday 11:59PM |
|
8 (Nov. 11, 2024) |
Chapter 10: More on Lists Chapter 11: Design by Composition |
Lab 07 - In Lab Period Homework 06 - Friday 11:59PM |
|
9 (Nov. 18, 2024) |
Chapter 14: Similarities Everywhere Chapter 15: Designing Abstractions |
Lab 08 - In Lab Period Homework 07 - Friday 11:59PM |
|
10 (Nov. 25, 2024) | No Classes - Thanksgiving | ||
11 (Dec. 2, 2024) |
Chapter 16: Using Abstractions Chapter 17: Nameless Functions |
Lab 09 - In Lab Period Homework 08 - Friday 11:59PM |
|
12 (Dec. 9, 2024) | Final Exam - 3675 Market Street Room 1103 Dec 10, 2024 01:00 pm - 03:00 pm |