Meeting Summary: CS 315-01 Lecture/Lab (Fall 2025)¶
- Date: August 26, 2025
- Time: 08:08 AM Pacific Time (US and Canada)
- Zoom ID: 886 4953 2573
Quick Recap¶
The session opened with attendance and name recognition, followed by course logistics: expanded office hours, GitHub setup, and communication norms. The instructor, Greg, reviewed the grading structure and policies, stressing the importance of attendance, labs, and projects, and outlined responsible use of AI tools for learning. The meeting concluded with technical demonstrations on configuring and using the auto-grader, makefile basics, C programming examples, and instructions for completing Lab One and preparing for upcoming projects.
Next Steps¶
- Students:
- Add GitHub IDs to the class spreadsheet by tomorrow (respect case sensitivity).
- Complete Lab One by tomorrow: submit two C programs and demo them during lab.
- Attend interactive grading sessions to receive credit for labs and projects.
- Finish development setup, including the local RISC-V environment.
- Attend Greg’s office hours today for help with setup and Lab One.
- Use Campus Wire for course communications instead of email.
- Clone the GitHub Classroom repository on the Beagle machine.
- Write and submit the two Lab One programs on the Beagle machine.
- Improve shell skills using the provided guide or ChatGPT.
- Learn a terminal editor beyond Nano.
-
DM Greg on Campus Wire during Zoom office hours if attention is needed.
-
Greg:
- Add the midterm date to the class schedule.
- Resolve the discrepancy in June’s office hours between the syllabus and the website.
- Discuss AI coding assistance techniques and recommended tools on Thursday.
Summary¶
Attendance and Name Recognition¶
- Attendance was taken in person; students must be present before their names are called.
- Several new or absent faces were noted.
- Brief screen issues occurred and remained unresolved.
Class Updates and Resource Guidance¶
- Expanded office hours were announced for development setup support, especially cloning repos and configuring Beagle machines.
- Students were reminded to add GitHub IDs to the spreadsheet by tomorrow for auto-grading; most have already done so.
- The class website features include the schedule view, Zoom recordings, and AI-generated lecture summaries.
- Communication will be handled via Campus Wire; students should use it instead of email.
- Guidance on programming resources was provided; students are encouraged to use ChatGPT in study mode for learning support.
Course Grading and AI Policies¶
- Grading emphasizes attendance, labs, projects, and exams.
- Students should engage actively and use AI tools responsibly for learning, not merely for task completion.
- Labs and projects will use interactive grading; students must demonstrate understanding to receive credit.
- Practice problems and past exam examples will be provided.
- A deeper discussion of AI’s role in learning is planned for Thursday.
Code Writing and Setup Guidelines¶
- Write clear, concise code; comments should explain non-obvious aspects for readers.
- Covered tools and workflows: SSH, editors (e.g., Micro), and Git on Beagle machines.
- Demonstrated compiling and running C programs, using makefiles, and setting up the auto-grader.
- Students were encouraged to ask questions via hand-raise or chat.
Auto-Grader Installation on Beagle Machines¶
- The auto-grader works out of the box on Beagle machines; add it to PATH via .bash_profile.
- Demonstrated cloning the test repository and pointing the auto-grader to it.
- If .bash_profile is missing, it can be created with Micro.
- Detailed installation and configuration instructions are available in the lab materials.
Auto-Grader Setup and C Programming¶
- Demonstrated:
- Cloning the in-class and test repositories.
- Configuring the test directory.
- Installing the auto-grader.
- Creating and compiling a “Hello, World” C program.
- Adding files to Git and pushing to GitHub.
- A deeper walkthrough of the makefile and additional C coding was scheduled after the break.
Auto-Grader Configuration Support¶
- Troubleshooting included SSH key setup, repository cloning, and auto-grader configuration on Beagle machines.
- Students were encouraged to use office hours for further assistance.
- ChatGPT can be used for configuration guidance; Greg will explore options for free usage with a free account.
Makefile Basics and Syntax¶
- Makefiles manage builds, handle dependencies, and optimize compilation.
- Key elements: variables, rules, pattern rules, pseudo-targets.
- Understanding basic syntax enables simple modifications (e.g., adding new programs).
- While makefiles can appear cryptic, they are a standard tool in C development.
C Program Command-Line Arguments¶
- Demonstrated an example (echo-repeat) handling command-line arguments:
- Checking argument count.
- Accessing argument values.
- Converting strings to integers.
- Noted that the current hard-coded approach will be improved in the next session.
- Students should:
- Complete and submit the two programs for Lab One to their GitHub repositories.
- Demonstrate their development setup.
- Review Project One; required techniques will be covered on Thursday.