0% found this document useful (0 votes)
24 views15 pages

Cs2a Fall 2024 Syllabus

The CS 2A course for Fall 2024 focuses on introducing students to Computer Science and Object-Oriented Programming using C++. It emphasizes a community-driven learning approach, requiring active participation and collaboration among students, with weekly quests and reflections contributing significantly to the final grade. Students are encouraged to engage with the material and support each other while managing their time effectively throughout the course.

Uploaded by

Jojo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views15 pages

Cs2a Fall 2024 Syllabus

The CS 2A course for Fall 2024 focuses on introducing students to Computer Science and Object-Oriented Programming using C++. It emphasizes a community-driven learning approach, requiring active participation and collaboration among students, with weekly quests and reflections contributing significantly to the final grade. Students are encouraged to engage with the material and support each other while managing their time effectively throughout the course.

Uploaded by

Jojo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

CS 2A Syllabus - Fall 2024

Introduction to CS and Object Oriented Programming in C++

Learn Computer Science like in no other place

Butterfly, By Divyani Punj


Submission for final CS2B homework assignment, Winter 2023
https://www.reddit.com/r/cs2b/comments/11w30si/purity_pitcher_a_butterfly/
2/15

CS2A
My name is &. I'll be your teacher in this class.

Here are the main features of this class:

● Weekly action plans (given in Canvas)


● Weekly graded reflections posted by you in the discussion forum
● Incredibly helpful, kind, friendly, and fun community of classmates
● Virtual catchup meetings to make up for shortfalls in forum participation
● 1 quest due per week

About this class


If you're new to this kind of class, you should note that it is different from other traditionally taught classes. I
find more students tend to like it this way than not. I think students learn better too. However, it takes a little
getting used to. It is like a bootcamp for those who want to learn Computer Science principles through C++, one
of the most powerful programming languages.

Students will be required to do their homework assignments at the Genius Bootcamp. Those who are enrolled
in this class are auto-enrolled in this bootcamp for free. I have arranged to get notifications and access to all of
your code submissions, and for your scores to be transferred to Canvas on their due dates. This bootcamp is an
incredibly fun and supportive community experience to learn CS in. However, you should not expect answers or
hand-holding by anyone here either (as these are discouraged).

In many classes that I've seen, and in ones I have taught in the past, students typically compete with each other.
There is a tremendous amount of secrecy around the material each student knows, and requests for help are
made and received in private. In the end, I found that many students didn't actually learn what the course
promised to teach them. However, they had an easy time in the class because solutions were easy to get, easy to
get accepted, and the work wasn't demanding.

In contrast, in this class, you will likely find yourself struggling. You will be frustrated. You will want to give up.
But thanks to incredible support from our unique CS community that YOU get to be part of, you will feel happy
that you didn't. Read the reflections and advice for future students from those who already did it.

You should budget enough time for this class in your schedule. If you're enrolled in 15 units, for example, and
you're doing one other time-consuming class, say in Math, then you should ideally pick your third class from an
area you are not intending to major in (e.g. Ceramics, Acting, etc.). This will give you the time to focus on the
STEM subjects aligning with your major, while providing a great and relaxing non-STEM class experience.
Foothill counselors and academic advisers are trained in helping you with this.

You should ideally start questing and participating in the bootcamp as early as possible after you get this
syllabus in your hands. More details on this later in the syllabus.
3/15

Here is how your class homework problems align with Genius.

● CS2A Homework gets you through the BLUE level of the bootcamp
(Beginner)
● CS2B Homework gets you through the GREEN level of the
bootcamp (Intermediate)
● Belief in yourself, courage, patience, and perseverance make you a
RED DAWG (Pro)

Start participating in our incredible and lively community right away.


4/15

Administrative stuff
CS 2A is an introduction to CS and object-oriented programming using the C++ language. Absolute beginners
or students already familiar with other programming languages will learn how to write C++ programs that cover
a wide range of applications..

Course outline and SLOs


You can access the official course outline of record for all CS courses here. Student Learning Outcomes for this
course are:

1. A successful student will be able to write and debug C++ programs which make use of the fundamental
control structures and method-building techniques common to all programming languages. Specifically,
the student will use data types, input, output, iterative, conditional, and functional components of the
language in his or her programs.
2. A successful student will be able to use object-oriented programming techniques to design and
implement a clear, well-structured C++ program. Specifically, the student will use and design classes
and objects in his or her programs.

Canvas and required tasks


Students at Foothill College doing this class for credit should use Canvas to coordinate some activities and take
online exams. Most of the rest of our work will happen at other public locations, including zoom, quests, reddit,
etc. Hybrid students have mandatory f2f classes at 6pm on Tue/Thu.

Start your adventure in Foothill's class by completing the following tasks (the first two are required). The
Canvas site for this quarter should be open if you're reading this.

1. posting an introductory note about yourself in Canvas (You can simply reply to my own introductory
post if you prefer)
2. scoring at least 90% on the syllabus quiz (in Canvas). This doesn’t need knowledge of CS or c++.
3. introducing yourself in the subreddit in r/cs2a (under the Foothill flair)

These must be completed before the end of the first Friday (Wednesday for summer) of the quarter to
prevent being dropped.

Course Workbook
Your homework problems are designed to cover a well-spaced selection of topics in the syllabus (and in your
Canvas Action Plans). These are the first 9 quests of the official Genius workbook - The Enquestopedia.1

Your weekly Action Plan will list more topics than are covered in the quests. You should learn and discuss such
topics, asking for clarification as needed. Exams and quizzes are largely based on these topics.

1
The Enquestopedia is just a high-level reference of what is to come. You will get Foothill-tailored versions of
the quest specifications (slightly different from the bootcamp workbook) as and when you complete each quest.
5/15

Assessment
If you're doing this course for kicks, or other fun reasons, you can skip this section.

If this course is offered for a grade, and you are taking it for a grade, then, your final grade will be based on fun
programming quests2 in the bootcamp (homework), exams, quality of weekly reflections, and conceptual
understanding/ability to help other programmers (forum).

Worksheet
In the worksheet below, activities marked with an asterisk (*) are required activities. This means that if that
activity is not completed then nothing below it will count towards your grade. Pupping a quest means
progressing until you get the password to move on. Dawg stands for detailed attentive work given, which is
proxied by collecting the stated number of trophies for that color).

How to calculate your grade


What Scaled from Scaled to

Syllabus Quiz* 20 1%

Data Representation Quiz* 20 4%

BLUE PUP 190 35%

BLUE DAWG (>= 191 Blue trophies) 5 5%

Midterm + Final (20+40) 60 25%

TEN Weekly Reflections (Weeks 1-10) 100 25%

Class participation and final report 10 5%

TOTAL 100%

Then use the absolute grade map below:

For an A+ A A- B+ B B- C+ C D F

You need (%) 97 91 88 86 80 78 75 67 60 < 60

2
More on quests in Appendix A.
6/15

Weekly Participation Points


As you can see in the grading table, weekly participation points contribute a whopping 25% to your overall
grade. How you participate in class and help other students is a MASSIVE determinant of your grade.

This class fosters a communal learning atmosphere where you get significant points by teaching and helping your
classmates succeed. Contributions that are focused more on personal advancement without regard to the rest of
the class don't get as much weight. Here's your chance to put on your teacher's hat and practice trying to explain
difficult concepts to others (essential skill for those aspiring to become leaders).

It is super important that you set aside sufficient time to experiment, discuss, and assist other students with
your insights and hints every week. You can get a maximum of 10 points per week, with a cap of 100 points over
the 12 week quarter. How much you get each week depends on the quality of your participation. To get close to
the full points, you must pretty much participate wholesomely every single day. This means that you need to
discuss in the forum at least one issue, insight, or technical fact related to that week's material or the quests
EVERY DAY. The following kinds of contributions (posts or comments) don't count:

1. Those that don't demonstrate your own thinking or the work you put into trying to solve your issue
first.
2. Those that lack a follow up post/comment that describes how you fixed your issue, thanking those who
helped.
3. Those that show up all within a day or two instead of being spread out over the whole week.

If you make a post that begins a rich discussion with many classmates, you can assume it will score high for the
week. Reflective posts summarizing your struggles, what you did to overcome them and what you learned in the
process are also worth a lot even if they don't garner lots of comments.

If you find you didn't get as many participation points as you hoped for a week, you can reach out to me with a
list of links to the posts/comments in question and I will be glad to re-review them, or suggest how you can
improve the score for the following week. You can also attend the weekly virtual catchup meetings and
participate by sharing your insights/help to make up somewhat.

Exams
Exams are objective style and will be administered via Canvas. They will be open from 6pm to 9pm on the
scheduled dates. You can start any time during this window, but once you begin, the current version of Canvas
does not allow you to pause your exam and come back to it. The midterm is 1h long, and the final is 2h long. The
timer cannot be stopped once you start it, until you hit finish.

Final Reflection (Week 12)


The final reflection should be a post3 in the subreddit (E.g. Final Quarterly Reflection by XYZ) summarizing your
experience during the entire quarter.

To score high on this, your report should be prepared as if it is a portfolio for a potential hiring manager who may
look you up and review your reddit posts to gauge your level of expertise and ability/willingness to learn new
things. You can use this as an opportunity to build a compelling portfolio of technical musings and discussions

3
Use the subreddit flair Reflections for this post.
7/15

you might want to present to someone. This is when you'll be glad for your daily forum participation because
you can simply use them as the raw material from which you can create this summary final reflection.

It should contain links to selected posts and comments (with short descriptions) spanning the entire quarter, not
just all made in a few weeks. I also recommend you use your post to leave comments and advice for future
students.

A good final reflection has a selection of links and comments for the following types of content. See examples on
our sub.

● Posts that sparked or contributed to rich discussion (lots of good comments)


● Posts that say something insightful
● Posts over the entire duration of the quarter, rather than in spotty bursts once in a while
● Posts that leave sound advice and encouragement for future students

Avoid posting a list or table of links, or listing trivial posts, comments and answers. Ideally, all your selected links
had something valuable to ask or say and you have something to say about them now. Also use this post as an
opportunity to express your final thanks to all your classmates who stood by you during the quarter and pulled
you out when you were stuck.

This NYT link, shared with me during a previous quarter, gives lots of tips on how to prepare good reflections.
You can use it as a template or a workbook to create a new one.

1. What do you know (in CS/C++) this week that you didn't know well before?
2. Are you stuck with your homework? Frustrated? Too shy to ask for help?
3. Did you make exhilarating breakthroughs?
4. Did you share any useful or interesting information on our forum?
5. Did you help anyone?
6. Are there classmates you'd like to thank for helping you?

You can go to the respective subreddit (r/cs2a, r/cs2b or r/cs2c) and simply search for posts with the word
"participation" or "report" in the title. You are bound to find many fine examples.

Virtual Catchup Sessions


These are online zoom meetings scheduled at a convenient time (usually Thursday evenings) for you to catch up
with and help each other, and also a place to discuss ideas, projects and insights.

While these are optional, attending and participating in these meetings with your camera on is a way in which
you can make up for some of the shortfall in your weekly forum discussions.

If you feel that you may not get full participation points for a week, make sure to attend the meeting and
contribute to get a few points more. Note that this meeting IS NOT A SUBSTITUTE for your participation in the
discussion forum.
8/15

Schedule and Homework Deadlines


Programming, like all art, is not a 9-5 job. Sometimes you're on a roll and killing it. Other times, not so much.

So you can quest at your own pace. However, note that there is a late fee of 5 trophies for each quest that is
submitted past its freeze date. These points will be subtracted from the final total trophy count before capping.4

Here is a suggested study/work plan, which aligns closely with the Weekly Plans you will find in your Canvas
Modules.

Week Read References Complete Notes


1 Data Representation Quiz (on Canvas) DR Quiz READ THIS
Vars, Exprs, Streams Mystery Quest 1 Q1 freezes (Sun night)
3 Control Structures Mystery Quest 2 Q2 freezes (Sun night)
Functions, Param passing Mystery Quest 3 Q3 freezes (Sun night)
5 Arrays and Vectors Mystery Quest 4 Q4 freezes (Sun night)
Review/Midterm (on Canvas, Oct 31) Mystery Quest 5 Q5 freezes (Sun night)
7 Objects, Classes Mystery Quest 6 Q6 freezes (Sun night)
Methods & Params Mystery Quest 7 Q7 freezes (Sun night)
9 Pointers, Mem Mgmt. Mystery Quest 8 Q8 freezes (Sun night)
Algorithms, Searching Mystery Quest 9 Work on Platypus
11 Sorting Q9 freezes (Sun night)
Final Exam (on Canvas, Dec 12) Final Reflections due by Wed
Col 2 is also the order in which the topics will be covered in lectures (for sync classes)

Every week, give yourself ONE or more topics to study and one or more programming quests to complete (2 in
summer). Anything not clear should be clarified via discussion in the forum, ideally during the appropriate week
(See table above). Make sure you have adequate time to code, experiment, revise and recode EVERY week. This
takes a LOT longer than many students estimate. Also see: The bell rings at 11:59.

Finally, note that you cannot leave a hole in your questing trail. Your trophies for Quest-n only count after you
have at least pupped all quests < n.

Here are the actual dates:

4
Important implication: Note that there is NO WAY to dawg the quests even if you have a single late submission.
Real dawgs ain't never late.
9/15

Extensions
Extensions don't make sense because the quests are self-paced. You just have to complete each by their "freeze"
date to get full credit. After their freeze dates, you should still complete them, but you will have a late penalty of
5 trophies for that quest. There's a LOT of time to complete these quests even if you have to take some breaks.
So, there is no need to ask for extensions.

Communication
Please use our sub for any question or comment that relates to the quests or CS concepts. You can also email
me.

Try to meet with each other after class (even if virtually), set up private study and programming groups and work
on independent (non assignment) programming challenges outside of class. I'll give you a few interesting
challenges from time to time. Some of these may earn you extra credit.

You can reach me via messaging in Canvas, Reddit or by email. While on campus, my room number is 0x113d (in
hex). In week 1 of CS2A, you learn how to decode that into decimal.

Don't use Discord


Things you share on discord are not visible to us and cannot be used as proof of anything required in this class.

Infinite Office Hours!!!


Well, within reason, ofc.

One time I happened to be in my office at 2AM. Someone knocked on my door.

"Who is it?" I asked.

"Quick question prof" said a female voice.

I opened the door. "Hey sorry. My office hours are at 10am. See the sign?" I pointed at the print out I had stuck to my door. It
clearly said 10AM - 11AM in BIG BOLD BLACK letters.

"Yeah" she said. "I read it. But I'm a binary janitor. So I waited up until now to come here."

"That's cool. You definitely deserve an answer" I said. "What's your question?"

"Would you like me to come back later to empty your trash can?"

This quarter, I've decided to do away with this confusion. I have open office hours ANYTIME (virtual). I am very
flexible in being able to adjust to your availability. But you have to pre-arrange it with me via email first.

I will likely be able to point you in the right direction for further experimentation. But I will not look at your
questing code directly, nor debug it for you. Nor can you ask anyone else to do it (honor code).
10/15

Disability Resource Center


Foothill College is committed to providing equitable access to learning opportunities for all students. Disability
Resource Center (DRC) is the campus office that collaborates with students who have disabilities to provide
and/or arrange reasonable accommodations.

If you have, or think you have, a disability in any area


such as mental health, attention, learning, chronic
health, sensory, or physical, please contact DRC to
arrange a confidential discussion regarding equitable
access and reasonable accommodations.

If you are registered with DRC and have a disability accommodation letter of accommodations set by a DRC
counselor for this quarter, please use Clockwork to send your accommodation letter to your instructor and
contact your instructor early in the quarter to review how the accommodations will be applied in the course.

Students who need accommodated test proctoring must contact the DRC immediately if they cannot find or
utilize your MyPortal Clockwork Portal. DRC strives to provide accommodations in a reasonable and timely
manner. Some accommodations may take additional time to arrange. We encourage you to work with DRC and
your faculty as early in the quarter as possible so that we may ensure that your learning experience is accessible
and successful.

To obtain disability-related accommodations, students must contact the Disability Resource Center (DRC) as
early as possible in the quarter. To contact DRC, you may:

Visit DRC in Building 5400, Student Resource Center (physical visits suspended during college closure).

● On the web: http://www.foothill.edu/drc/


● Email DRC at [email protected]
● Call DRC at 650-949-7017 to make an appointment

Important Dates
For a list of important dates for the winter quarter, see the official college page here.
11/15

Appendix A - Questing
The Genius Bootcamp
The Genius Bootcamp is a supportive and fun community of CS and C++ learners from all over the world. You
are auto-enrolled in this bootcamp and you can proceed to complete it for free after you finish CS2A. In fact, you
can even get credit for the BLUE quests if you decide to enroll officially in my CS2B next quarter.

At this bootcamp, you are bound to have company from Genius questers who are new to the language like you.
You may find that your posts in the subreddit elicit help or responses from bootcampers not in your class.

Please introduce yourself in the Foothill Flair of the blue subreddit. After that, your interactions will mainly take
place in our blue subreddit, r/cs2a.

Mystery Quests (capped at 190 for CS2A this quarter)


You will solve these at the public questing site (https://quests.nonlinearmedia.org). Type in the password "A Tiger
named Fangs". You should hear a whooshing sound. Hit return to enter the first quest. The spec of each quest
(detailed description of what you need to do) will be shown when you click on the name of the quest at the top.

These quests are meant to be solved in sequence. Each quest will give you a certain number of trophies. You can
check your total trophy count at any time by visiting your personal scoreboard at the /q site (It will be wiped on
the 1st of Jan, Apr, Jul, and Oct). It will show you all your trophies, but only the BLUE ones count for this course. Your
secret handle is your Student ID.

The quests are set up such that the password to each quest is given out upon scoring a certain number of
trophies in the preceding quest. However, I found that a few students were getting stuck in the lower numbered
quests pounding away at them to eke out every remaining trophy before moving on, even though they had
already earned the password. This is a bad strategy. Resist your temptation to hack more, and keep moving
when you get a password. Pupping5 a quest is sufficient to move to the next quest. You can always come back to
polish your previous quests when you have free time before the final week. You get about one week on average
before each quest freezes (only 3 days in Summer.) After this, the trophy count for a quest will be docked by 5
trophies (minimum = 0).

At the end of the quarter, your total BLUE trophy count


will be capped at 190 and fed into the grade crunching
system. If you spend a lot of effort getting up to high
numbers by the time you get to Quest 7 already, then
you'll be close to getting burned out right in time for
two of the funnest quests of all. So plan your time and
effort wisely. It's not like your old quests are going to disappear when you move on.

In order for rewards from a quest to count towards your total, you must have completed all previous quests. If
you leave a hole in your trail of completed quests, then your total reward earnings is the sum of all rewards you
earned before the first incomplete quest.

5
Progress Until Password
12/15

Pupping and Dawging quests


Solving minis until you get the password to move on from a quest is called pupping it. This is what I recommend
you do in your first pass through the questing trail.

Dawging it means you review the code and the spec in detail and try to get all available trophies. I don't think
anyone knows how many trophies there are per quest, but it's usually easy to tell if you've got everything
obvious. If you Dawg all the quests you should get at least 190 trophies (the cap).

What is a Quest Freeze?


A freeze is when I will review your submissions and transfer scores from a particular quest into Canvas. If a
quest has frozen, you still have to complete it in order to move forward into the next quest, but you will have to
pay a late fee of 5 trophies for this quest.

Bummer… Yes? If I were you I would try my best to avoid that situation by staying on top of things and taking this
class seriously.

Quests need to be pupped6 in sequence before their freeze dates. However, once pupped in time, they can be
dawged ANY TIME before the final week Friday.

Dawg points are All OR NOTHING. That means, "189 of 190 BLUE trophies" don't count until one more trophy
is won. No exceptions.

Bugs in your code?


Getting your code debugged by someone else is NOT allowed. That includes me, tutors, teachers, friends,
enemies and relatives. Debugging your own code is an essential skill that aspiring programmers must learn and
enjoy - Yes, enjoy!

Of course, I can't police this. But your enrollment in this class signifies acceptance of this condition (in addition
to being bound by Foothill's Academic Integrity Policy). You cannot send your code to me, a tutor, or someone
else and ask them what the issue is. What you can do is:

1. Explain (in our subreddit) what you're trying to do


2. Describe in English the steps you think might work, or if you have no idea and would like someone to
explain the requirement better.
3. Or describe the behavior of your program and ask why it is not working as expected.

Sometimes it is also ok to post some code on our subreddit. Mostly, exercise good judgment regarding what can
be shared. You want a fun and fulfilling learning experience. The best way to get it is to keep it fun and fulfilling
for everyone. You wouldn't give away a movie's ending to a friend who's going to watch it. Why give them the
solution to a problem when they can feel good finding it themselves?

6
pup = Progress Until Password to next quest. dawg = Detailed Attentive Work Given (usually max trophies) -
More on these later.
13/15

Oh no! my submission got flagged


What does it mean if your quest submission got flagged?
☹️
Quest submissions get flagged for a variety of reasons. Usually you will be notified within a day or two of your
submission if this happens. The model flags submissions as suspicious if it cannot determine the authenticity of
your submission. Various factors go into this model:

● Sudden differences in the quality of code compared to previous submissions


● Lack of evidence through forum discussions that the coder understood what they were coding7
● Absolute or partial matches to a vast codebase of thousands of previous submissions by other questers
and code/solutions found on the internet
● Submissions that don't have evidence of a gradual progression of trophies from 0 to max in the
submission logs on the server.8

What do you do if your submission gets flagged?


If you get that dreaded email from the system that says "Your submission got flagged as suspicious", usually you
don't have to do anything immediately. What this means is that the system's decision will now be cross-checked
manually by me or a tutor in detail, including your earlier submissions of this quest and previous ones. This could
take up to a week.

After a manual examination, one of these decisions will be communicated to you:

● Nothing to worry, everything checked out upon a review. Yay!


● All subsequent quest scores will now be held back until Week 11 after you pass a personal 1-1 exam
with me or a proctor in Week 11. During this 1h exam over zoom, you will be asked to live-code
important concepts from class under observation. This will be like a real exam - you can only ask for
question/project clarifications. If you need to do some lookup or research online to code the project,
you must do it in a shared browser window that is visible to me. The outcome of this exam (which won't
be known to you for a few days) may result in:
○ Partial or non-acceptance of quest scores
○ Possible referral to college admin for breach of Foothill's Academic Integrity Policy. This may
result in a permanent mark in your transcript (pls check with admin).

7
Making sure to post from your reddit handle matching the spec, you can increase the connection strength
between your submissions and your post.
8
To avoid this, make sure to use your Student ID in all your submissions, not just your polished final one.
Confirm that your score shows up correctly on the /q site.
14/15

Appendix B - Reddit Recommendations


Subreddit username
Your reddit avatar name must start with your first name (as on Canvas) and an underscore, followed by your
initial (or full last name) + some optional digits (example: ramanujan_s1729). If you already have a conformant
reddit username from your CS2A or CS2B enrollment, I highly recommend you use it so that people who click
on the username can see your contributions over the entire series. Only posts and comments made by
usernames matching the above format are eligible to be linked into your final report.

Don't say anything in the forums that you'll end up regretting later in your life. OTOH do try to let your natural
genuine curiosity shine through for others to seek out in a sea of wannabe software engineers. Maintain your
profile on our subs as you would if you were a professional and it will free up a lot of your time.

I will try to remove posts that I deem (in my subjective opinion) to be a liability to your future self. But you can't
rely on it. Best to be helpful, courteous, informative and only post useful and interesting observations without
overtly giving the answers away. They usually have more lasting value.

ANY user anywhere in the world can quest and post/discuss in our subreddits. So you may see posts and replies
by users with anonymous names like coding_lion, bat_girl and such. All posts are subject to the same rules like
Johnny be good, but only the ones with avatar names matching the spec in this syllabus will get participation
credit.

Can you review past subreddit posts?


NO. Access to past posts in the subreddits AND to posts giving tips/hints from current students is off-limits
to current students (also recommended for current non-student questers).

You are expected to use the subreddit to communicate with your current questers, and to demonstrate both
your conceptual understanding and willingness to help others technically.

After you successfully complete a quest on your own (with possible contemporary help), you can refer to all past
posts for that quest before you post your reflection.

IMPORTANT: Even though our subreddits contain content created by past students and other bootcampers,
you must NOT review any past content on a quest - honor code. You can view and comment as much as you
want on any content for a particular flair after you have dawged that quest. Don't publish tip sheets or cheat
sheets. Do not share actual quest code.
15/15

Appendix C - Resources
Text recommendation
Some students have benefited from using the book Absolute C++ by Walter Savitch. Note that it is heavy. There
is an electronic version someone shared on our sub a while ago.

Then there is, of course, the Internet. You will need to search various sites like Stack Overflow, reddit, YouTube,
etc, for the keywords of the week. You can use your weekly reflection to share links you found useful (along with
a short summary of what you found useful in them).

I'm also happy to provide guest lectures for particular topics. Simply get a group of similarly curious folk
together and arrange with me to zoom at a convenient time.

We will cover most of the topics in the syllabus in our lectures. Make sure to attend them and offer to live-code
when asked.

As always, hit our sub, when in doubt.


Actually, that's not quite it.
When in doubt, try it out.
If you still don't get it, then hit our subreddit (to ask - not to look up)

Bottom line
Computer science is a hard science, not a soft science. It requires conscious and deliberate practice. A
significant investment of your time and effort will be required in this class. To succeed in CS2A, you must expect
to code at least 2 hours EACH and EVERY single day for the next 12 weeks.

Make sure your schedule allows it before you start. If you apply yourself sincerely, you will learn a REALLY
USEFUL skill for a happy life and FEEL the difference at the end of this quarter. And besides, you'll be well on
your way to completing the Genius Bootcamp.

Happy Hacking!

&

You might also like