Class will meet:
Section | Time | Days | Room |
---|---|---|---|
001 | 9:30-10:45 | MW | D258 (lecture) |
10:00-10:50 | TR | D258 (lab) |
from Jan 13th to May 16th.
Your final will be during Wednesday and Thursday of Finals Week — May 14 and 15.
Drop with full refund: Feb 17th.
Withdraw without a grade: Apr 28th.
Jason James
D253a
847/925-6697
craie@acm.org (preferred contact method)
http://craie-programming.org/ (see my detailed schedule here for full contact info)
Day(s) | Time | Notes | ||
---|---|---|---|---|
Monday & Wednesday | 12:30p-2:00p | in D253a/WebEx simultaneously | ||
Tuesday & Thursday | 9:00a-9:50a | in D253a/WebEx simultaneously | ||
Tuesday & Thursday | 5:00p-6:20p | in D253a/WebEx simultaneously | ||
Or by appointment at other times we can agree on... |
Friday appointments — between 9:00a and 2:00p — are considered one-hour blocks and are virtual only. Please make any appointments at least two days in advance by email so I can confirm my availability.
(BTW, office hours are there to meet with students to help with problems. You don't need an appointment — it's first-come-first-served. And if you want to come to my lab times, they are listed in my full schedule for the semester. But keep in mind that the first week of lab is focused on bringing new-comers up to speed on Harper's programming environment.)
CSC 122 (computer science II)
with a grade of C or better
OR
consent of instructor
[it is recommended that you had a B or better
to actually do well in this class — as this class
is more demanding/challenging in time and intellectual
difficulty]
Either:
Data Structures and Algorithms Using C++; Goodrich, et al; zyBook edition
Or:
Data Structures and Algorithms Using Java; Goodrich, et al; zyBook edition
Your choice depends on which language you want to code in. Please choose one language and stick to it throughout the term!
See the email blast I sent out for instructions on getting signed up for it!
If you need software for the course (haven't already set it up last term, for instance), See Appendix A of Exploring C++: The Adventure Begins (James, OER, 2nd Edition, July '24 (or later) release) for setup instructions of all software used in the course for Windows, macOS, Linux, and/or ChromeOS. Feel free to ask for help in any office hour or even a lab period if it's your laptop.
In addition to this site and Blackboard, we'll also be using TopHat for all lecture participation and testing.
C++:
Java:
Language Neutral:
Provides exposure to techniques for storing and manipulating data. Includes discussion of insertion, deletion, and retrieval algorithms for stacks, queues, deques, linked lists, trees, etc. Emphasizes algorithm analysis as it builds on topics from previous course (CSC 122).
Emphasizes mathematics, engineering, science, and computer science applications.
Designed as the third of a sequence of courses (CSC 121, CSC 122, CSC 216 and CSC 217) for students majoring in Computer Science.
To foster the student's understanding of proper storage and retrieval of data. We will emphasize algorithm analysis to compare various approaches and determine which is best for different situations. Either the C++ or Java programming language may be used.
Attendance is an important aspect of learning. It provides access to both the teacher's years of experience and the experience and understanding of other students (during discussions).
Further, it is in actual participation that we find a sounding board for our conceptualizations of the ideas read in the book. It is also a place where we can hear explanations of topics from the book in a different light (from a different angle). All lectures should be participated in by the student.
The College reserves the right to set and communicate reasonable standards of behavior as needed. Students are expected to uphold college policies related to academic honesty. The following behaviors, as outlined in the Student Code of Conduct, are considered academic dishonesty and are prohibited. Examples are provided to illustrate the specific prohibition and are not intended to be all-inclusive.
Penalties for academic dishonesty in this class are:
I reserve the right to report any infraction to the Student Conduct Officer. This report will potentially be placed on your school record for a period of seven years. See the above-linked Student Code of Conduct for details.
Students are encouraged to meet regularly with their assigned academic advisor and can schedule through the MyHarper Student Portal. Students who do not have an assigned academic advisor can contact Advising Services to schedule an appointment.
Phone: 847/925-6220
Email: leadadvisors@harpercollege.edu
To learn more visit: Advising Services
Counseling Services promotes the academic success and personal well-being of students by providing short-term personal and wellness support along with career and educational counseling. Services are available to currently enrolled students and are free of charge. Harper students also have free access to WellTrack, a mobile app with self-help tools and resources anytime, anywhere. And there is also the togetherall service which offers anonymous online peer support where you can go and have others in your situation listen and give your mental wellbeing a boost — 24/7/365.
Additional information about WellTrack.
Phone: 847/925-6393
To learn more visit Counseling Services.
The Hawks Care Resource Center (in D204) is there to help with your non-academic needs and concerns. This can include discussions to non-academic financial assistance to pantry and Self-Help Shelf items.
Location: Building D, Room 204
Phone: 847/925-6633
Harper College strives to make all learning experiences as accessible as possible. If you anticipate or experience academic barriers based on your disability (including mental health and/or chronic or temporary medical conditions), please let Access and Disability Services (ADS) know immediately at 847/925-6266. ADS will privately discuss the options you have, including the accommodations they offer. You are welcome to register with Access and Disability Services by going to Access and Disability Services and filling out the application for ADS' services. Once you have your accommodations approved by ADS, please make arrangements with the instructor as soon as possible to discuss your accommodations so that they may be implemented in a timely fashion.
Location: Building I, Room 103
Phone: 847/925-6266
Email: ads@harpercollege.edu
To learn more visit Access and Disability Services.
There are several academic support areas and services to help ensure your success at Harper College, including Access and Disability Services, Academic Advising, Center for Student Veterans and Military Connected Students, One Stop, Library, Academic Support Center, Computer Labs, Job Placement Resource Center and more. Information about all student support resources can be found on the Student Support Resources page.
Harper College does not discriminate on the basis of race, color, religion, sex, national origin, ancestry, age, marital status, sexual orientation, disability, or unfavorable discharge from military service. If you believe you have experienced discrimination or harassment (whether on or off campus) that affects your ability to participate in class or any of Harper College's programs, please seek assistance from any of the following resources:
Please be advised that faculty members are required to report to the College if they learn that a crime, harassment, or discrimination may have occurred. If you are not sure if you want to formally report to the College, but you want confidential support or assistance, contact Counseling Services at 847/925-6393.
Activity | Percent | |
---|---|---|
Tests | 35 % | |
Paper | 9 % | |
Projects | 18 % | |
Labs | 16 % | |
Homework | 16 % | |
Participation | 6 % | |
Total | 100 % |
Grade | Percentage | ||
---|---|---|---|
A | 90 | - | |
B | 80 | - | 90 |
C | 70 | - | 80 |
D | 60 | - | 70 |
F | 0 | - | 60 |
Also note that you cannot earn a C in this course without having shown at least a 70% competency on each and every topic covered during the semester (not a 70% average over all topics, but 70% on each topic). (See main page for the course for a topic list.)
The homework, labs, paper, and projects portions of your grade will come from the three portfolios you will be handing in (see below). Tests will be done in lecture time — not take-home.
The participation portion will be split into any lab activities we do and TopHat participation activities evenly — 3% each.
Lecture tests consist (most often) of true/false, fill in the blank (no word list), short answer, and hand-execution of code. Lecture tests may also include hand-coding of small (5-15 line) segments of code. Multiple choice can also occur, but all correct answers must be chosen (i.e. it isn't multiple guess). Finally, matching is a rare occurrence. (The online participation makes a pretty good sample of questions and style.)
Make-up exams (with reasonable excuse — see participation), will be ALL essay and/or hand-coding/execution.
Also there will be five tests (including the final) during the semester. This means that each test will be worth 7% of your overall grade.
When an assignment is given (i.e. placed on the web page), you can hand it in as soon as you are done for a review of its content. ('done' here means that you've made a reasonable attempt to start the program or answer the questions. You don't have to have it perfect before you hand it in. You can even hand in something you've merely outlined/flow-charted, if it is a complete enough outline.)
I will give the checked paper back to you ASAP so that you can make any needed corrections to it before using it in a portfolio (if you so choose). You can also hand papers in as many times as you like before the portfolio is due. (Remember that this corrections policy is good for ANY of the online assignments: the paper, projects, labs, and even homework.)
Finally, every assignment will also be rated (typically between 1 and 7) as to its difficulty (1 is quite easy, 7 is fairly challenging). These ratings will help you determine what (corrected) assignments you'd like to hand in for your portfolios. Also, labs and projects often have options which can be done that will increase the level rating of the assignment.
Three times during the semester, you will turn in what you consider to be your best work up to that point (since the last portfolio). Collect together your best (corrected) assignments and hand them in as a portfolio. (This doesn't have to be a fancy bound work, just make sure your papers aren't going to go flying around. It is a good idea to have your name on each item as well.) The portfolio must contain a project (2 during the semester) or paper (1 during the semester) as well as a certain total ratings value each of homework and labs and consist of only a certain total number of items. These totals will be mentioned in the portfolio announcement on the web page and/or during class. The announcement is purposely delayed until at least a week before the due date so that you will concentrate on doing and understanding and not meeting minimum requirements.
Any assignments you turn in that exceed the total ratings value for their category will be added to an extra credit pile for review at the end of the semester. This extra credit work will be added to some part of your grade where it will do the most good (typically projects or tests).
Example: If the projects section of a portfolio said the minimum ratings value was 16 and the maximum number of projects were 4, you could choose several different combinations of project ratings to satisfy these requirements. You might choose to hand in 3 projects which were rated 6. You might choose to hand in 4 projects rated 4. You might choose to hand projects in rated at 4, 6, and 7.
You might choose to hand in a 4, a 6, and 2 7's. If you did this, I might place either the 4, the 6, or either of the 7's on the extra credit pile (the remaining items already add up to more than 16). To avoid me picking, you can mark those items you wish to be extra credit with XC or EC or XCred or Extra Credit marked in plain large type/writing at the top.
Due dates (on portfolios) are present for a reason. If you do not turn in your papers by the due dates given, credit may be denied. (Reasonable excuses may be accepted.)
For further information, please see the portfolio page.
Week(s) | C++ Location | Topic(s) | Java Location | |||
---|---|---|---|---|---|---|
0 | Chapters 1-2; Appendix 16 | Review of Programming Basics & Math Stuff (the math may not be needed, but it can't hurt you..!) |
Chapters 1-2; Appendix 16 | |||
1 | Chapters 5-6 (skip the iterator parts from 6) |
Linked Lists vs. Arrays | Chapter 3 | |||
2 | Chapter 3 | Algorithm Analysis Basics | Chapter 4 | |||
3 | Chapter 4 | Recursion | Chapter 5 | |||
4 | Chapter 7 | Stacks and Queues | Chapter 6 | |||
5 | Chapter 6 | Iterators of a List | Chapter 7 | |||
5, 6 | Chapter 8 | Trees | Chapter 8 | |||
7, 8 | Chapter 9 | Heaps & Priority Queues | Chapter 9 | |||
8, 9 | Chapter 10 | Hash Tables, Maps, & Skip Lists (this is also where Sets are hiding) |
Chapter 10 | |||
10, 11 | Chapter 11 | Search Trees (binary and AVL only) |
Chapter 11 | |||
12, 13 | Chapter 12 | Sorting & Selection | Chapter 12 | |||
14 | Chapter 14 | Graph Algorithms | Chapter 14 | |||
15, 16 | Chapter 13 | Text Processing and Dynamic Programming | Chapter 13 | |||
16* | Chapter 15 | Memory Management & B-trees | Chapter 15 |
Those topics above the first horizontal rule are considered preperatory review topics. If you don't know them, you won't do well later on.
Those topics after the last horizontal rule are considered optional and may be covered or left out depending on the student's interests and available time. (Especially the last one marked with a * is rarely gotten to.)
Always look for online notes to supplement (and sometimes correct/override) the book information.
Last modified 01/05/2025 18:12:27.
It is now 3/13/2025, 10:13:15 PM.
Date you last viewed this page: That's for you to know and ...well, that's for you to know.
© 1993-2025 Jason James (email — craie@acm.org — for permissions &/or details)