Closed adeet1 closed 8 months ago
@50Wliu What do you think of these changes?
The Makefile itself is outdated based on the changes I made to the Makefile tutorial last semester. Take a look at the new Makefile-pizza.
(Oh and also, throw in a -std=c++11 in there.)
@50Wliu
UPDATE: I discussed this pull request with @aaronbloomfield during office hours today, and he mentioned that moving the makefile tutorial to lab 3 may not be the best course of action for the following reasons: 1) Students aren't yet completely familiar with the Unix environment at this point in the semester. 2) Makefile syntax is not user-friendly and error messages are cryptic, so it will be difficult for students to properly edit provided makefiles and/or implement their own makefiles from scratch.
From my understanding, we can keep the makefile tutorial in lab 5 (as is), but we could provide fully implemented makefiles for labs 2 and 4, because students need to submit very specific .h/.cpp files for these labs (which means it wouldn't even be necessary to edit them, they'd just have to run make
).
However, providing a fully implemented makefile for lab 3 wouldn’t be a good idea, because the requirements for this lab are flexible and students would need to edit the provided makefile to suit their specific implementation (which would cause problem 2 above).
41
@50Wliu has endorsed this.
Compiling code with
make
is much easier and faster than having to manually compile several files viaclang++
. I thought it would be a good idea to move the makefile tutorial to in-lab 3, as that is much more lightweight than pre-lab 5. Since lab 5 is considered by many to be one of the more difficult labs, I thought that this would better balance the workload.Lab 1 can teach students to compile manually with
clang++
(e.g. via the provided LifeCycle program). I have also provided a makefile for lab 2 that students can use (although at that point, they're not expected to understand any of the syntax since lab 2 is already intense enough).