-
Notifications
You must be signed in to change notification settings - Fork 22k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Switch from Modern C to Dive into Systems for OSTEP Base Approach #1134
Comments
Would you be in the favour of bringing back the C portions of CS50? From the base approach:
All of this is covered, along with ample practice and some additional topics that aren't covered elsewhere in the OSSU., |
It seems like overkill to me. 12 hours of lecture aimed at beginner programmers, 5 labs, and 5 problem sets. If a student has taken CS50 already, they should be ready C-wise for OSTEP from the glances I've taken at CS50, but if they haven't, that seems really tedious to go through. At this stage, I don't think students need all that, they already know how to program. Dive Into Systems Chapters 1-2 is also tedious, but it's less to get through, and it's written for this sort of audience that already knows Python and is learning C for a Systems course |
The comment period for this RFC has completed. There are thumbs up from multiple involved OSSU contributors. We should consider this RFC accepted. @Alaharon123 can you create a PR with the changes you detail above? |
Having recently finished the C Programming chapters in the "Dive into Systems" book, I found myself struggling with "KN King Book C" and subsequently attempted to delve into "Modern C." However, I encountered significant difficulties with the latter due to its complexity, especially for someone new to learning C. While C Programming serves as a prerequisite for "Operating Systems: Three Easy Pieces" (OSTEP), the prolonged duration required to work through KN King's material seemed impractical. In contrast, the initial chapters of "Dive into Systems" provided just the right balance of content and practical application for beginners to grasp C programming concepts efficiently. It is reasonable to expect that completing the C chapters in "Dive into Systems" should not take more than two weeks on average. |
I haven't gone through all of it but Dive into Systems seems like a good recommendation here, by this point you will have some experience with programming but not C, and dive into systems has a gentle approach to learning C that seems nice. Modern C seems too difficult according to other members. I did find a C programming course that I'd like to mention in case it can be helpful to someone. From what I've gone through it's a well produced course but a commitment. |
Unsubscribe
Mohamed Mostafa
…On Mon, Jul 22, 2024, 6:56 AM SkyzSecurity ***@***.***> wrote:
I haven't gone through all of it but Dive into Systems seems like a good
recommendation here, by this point you will have some experience with
programming but not C, and dive into systems has a gentle approach to
learning C that seems nice. Modern C seems too difficult according to other
members.
I did find a C programming course that I'd like to mention in case it can
be helpful to someone.
https://coursera.org/specializations/c-programming-linux - This course
maybe a bit too hand holdy to be the official recommendation but it seems
thorough to learn C from scratch.
From what I've gone through it's a well produced course but a commitment.
—
Reply to this email directly, view it on GitHub
<#1134 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMKNLRLQPATONC7FWW3SQD3ZNR7GRAVCNFSM6AAAAAAUR6EEH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRHE4DQNRZG4>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Problem:
OSSU recommends Modern C in the OSTEP page for learning C for the Base Approach. Modern C is a 325 page book, which is overkill for the base approach, and assumes more knowledge than students will have at that point, which causes problems. eg
Discord Message 1
pen:Discord Message 2
nigaleto:Duration:
Until March 5 unless more time is needed
Background:
I think Modern C is recommended because it is what is recommended in the Extended Approach, which needs the depth that it provides. However, for the Base Approach, only a shallow understanding of C is needed. Thus I propose switching to Chapters 1 and 2 of Dive into Systems, which is what I used when I learned C for a Systems course in college that used OSTEP as a textbook. There are very few exercises in Dive into Systems, and they are quite simple, so I propose following this up by the reverse project from OSTEP, which is a fairly simple project that will get students coding in C, reading man pages, whatever they need to be comfortable enough in C to complete it, which I believe is also the level of comfort students should have in order to go through OSTEP.
Advantage of this approach:
Disadvantages of this approach:
Proposal:
Replace Modern C in coursepages/ostep#base-approach with
Alternatives:
The text was updated successfully, but these errors were encountered: