Study Guide #1: Files, Streams, and Sockets
Please fork this repository to work on the course. It contains some code
samples and source materials in the samples
folder that are needed to
complete the exercises.
Topics and course format
Each topic in this study guide consists of a Practicing Ruby article to read, some questions to test your understanding, and some project-based exercises to put the concepts into practice.
All of the reading assignments have been made available from the first day of the course, but the questions, exercises, and solutions will be released gradually to encourage better focus.
Solutions already released:
-
Standard I/O streams and the filesystem (Instructions, Solutions)
-
Encoding and decoding binary files (Instructions, Solutions)
Questions/Exercises already released:
- Parsing text-based formats (Instructions)
Not released yet (except reading assignments):
- Socket programming and Network I/O (Instructions)
News and Updates
Practicing Ruby subscribers will be emailed whenever new content is released. For day-to-day updates to the course materials, including revisions, see the CHANGELOG.md file.
Schedule
Currently the goal is to ship some new course materials every 2-3 weeks.
Watch the course repository on github for updates, and stay tuned for emails whenever new content is released.
Getting Help
-
For a review or to share your solution, open a pull request. We will not merge it, but it will be used for commentary, and also marked with tags to indicate its status.
-
You can submit pull requests for the reading questions by copying the questions into a text file, adding your answers inline, and then adding that file to your repository.
-
For questions or general guidance with the assignments, open a ticket or comment on a ticket that is already open. See closed tickets marked "solved" to see if your problem has already been discussed.
-
Pull requests are assumed to include spoilers, issues should avoid spoilers unless they are clearly marked.
-
Once released, reference solutions will be made available on the solutions branch of this repository.
-
You can also use the Practicing Ruby chatroom to discuss this course. To access it, log into practicingruby.com and click "chat" in the navbar.