The recursive descent aspect of the lab, although foreign and intimidating, was a good call to add. I admit I could not figure out the final methods like factor, but the opportunity to get my feet wet was a welcome challenge that I should have spent more time on.
Thanks
I feel as if the idea of recursive descent was something that I did not have the right knowledge to complete. Up until now pretty much everything that we have coded has been manipulating data in a mathematical type of way.
This assignment was evolving a state in a mathematical way
Recursive descent seemed very conceptual in nature to me, in a way that I did not even know what kinds of questions to ask you, because I did not even understand where to really begin with the problem.
If anyone encounters this in the future, you need to communicate how you are feeling. Most professors are here to help you, and I hope that you view me in that way.
I continue to be very impressed by Killian's willingness to answer questions, help out...and the four extra hours was, I said to my friends, a very good example of grace and mercy. He said (darn it, do I write these things in the 2nd person or 3rd person?) he thought he'd been "more than fair," and I agree.
All the same, there was something about the recursive descent parser that made it seem well-nigh impossible, and I'm not quite sure what that something is. I suspect it was a lack of ability to conceptualize the assignment itself. I don't know if having the parser as a separate assignment would've helped--not for extra time, rather so that it might be conceived as not-a-"tack-on", a project focused on one large concept. Again, I'm not sure what would've made it better. It was tough, and I wanted to cry.
See last response above
Starting on it earlier would have been a much better idea.
As you all become better students and thinkers, please remember this.
I really appreciated how quickly you responded to emails since we didn't have class yesterday.
Since school was cancelled I was hoping students would be working on it. I was expecting emails (and receiving them) all day (9AM -- 8PM).
I wish we would have spent more time on recursive descent during class hours and have had more notes for this topic. This would also include more time to discuss it and how it works.
I spent more time over the necessary building blocks in class than I did on anything else on the assignment. I mentioned everything necessary for how it works and showed an equivalent C implementation available through Wikipedia. Essentially, this assignment was converting C to OCaml.
Considering how much the recursive descent portion was worth, the fact that this portion of the project was brand new and was an original work, in my opinion we should have had more time discussing this and more notes than we did on it.
It was worth 30 points total -- 6 of which I gave you the answer in class.
I contacted the professor the first time the twelfth of march and later contacted them the seventeenth and the eightieth and all seemed to go well. I started the project before the time of spring break and started the recursive descent part during spring break. It was not until I reached this part of the project that I struggled with it.
It seemed like you paced yourself on the first part of the assignment but not the second. This is my view on it given the types of questions you were asking.
I am all for introducing new assignments to students. I believe that new assignments have an effect of making more students think and learn rather than just "going through the works." However, if that is going to happen and have a good outcome then more time and notes need to be dedicated to and about the new subject(s) and task(s).
I cannot teach you every single concept. I provided several helper functions and their documentation which I thought were clear. If you were having issues combining these pieces, I would have helped. But those were NOT the types of questions you were asking me. I was receiving code which had a "then" following a match expression.
In other terms, for every action there needs to be and equal and opposite reaction. In this case, if a brand-new assignment that has never been given before is assigned, there should have been an equal if not more amount of time given to the new material on the project (the recursive descent portion) compared to the other materials on the assignment in order to have the same outcome as the other materials had on this assignment.
I spent more time in class going over recursive descent than any other portion of the lab, so I'm confused by your argument here.
I am very displeased with this portion of the assignment due to the amount of time I put into in and how little I actually got with it no matter what I did to try to progress. I like the idea of introducing new assignments, but I am very displeased of how this portion was executed.
Are you displeased with your performance or the assignment itself? There is a very big difference.
I believe that we got unlucky with the snow on Tuesday and Wednesday which made it difficult to go visit your office hours and ask questions.
Yes we did
I completed everything up until recursive descent over spring break and started working on the recursive descent on Monday. I was planning on going to office hours on Tuesday and Wednesday to ask about expression, term, and factor, but the snow made that difficult. It is my fault though for not emailing earlier about my questions with recursive descent.
Please email me earlier next time!
Recursive descent was a difficult portion of the lab which required me to seek help a little more than usual. That being said, I seeked help early and worked through the problem much before the lab was due. I know there is a lot of things to be done for every student but if you do a little bit each day and ask questions early you can finish in a timly manner.
My inital speed bump was understanding the idea of recursive descent - where the expression "state" was being passed around. After I got that concept things fell into place more.
It was HARD!!!!!!
I think that the recursive descent portion is a great addition to the lab assignment and applies to the class well. However, since it is a brand new addition, I believe there needs to be an adjustment. I think you should list type signatures and descriptions for every method that we have to write. These weren't there and their addition would have helped, since we had them for every other method we've had to implement.
They were clearly listed as a comment immediately before all of the NOTES and HINTS: "Each one of the methods accepts a state and will return a new state (or produce an error)."
That's it for my feedback on the actual assignment content, but I do have some more insight that may have affected other students. Firstly, we were supposed to have 2 lab periods for this assignment. The first lab went fine, and the second was cancelled due to snow. I think it was a great decision to push the due date back so that we get another lab day so that we get those two days. However, when that day was cancelled, it was still due that night, which was a massive problem because I think many of us needed that second lab period so we can be there with you.
I get what you are saying here, but you shouldn't have waited that long to start the recursive descent portion of the lab!
We had spring break thinking we don't have to work on the program (since it's a break), and that we will still have a lab period.
I'm not sure what your expectations are of spring break, but when I was a student it was "catch-up" time. I cannot force good habits on you, but I can give you my advice: just because it's "spring break" doesn't mean you should treat it as a break.
Secondly, the concepts used in fixpoint weren't really covered much in class. I do remember discussing anonymous functions a small amount, but it was basically all that was needed for that method, and I had to do tremendous amounts of research to even figure out how to tackle that problem.
Anonymous functions are functions without a name. That's the only difference between those and other functions. You've had 161 and 162 (and possibly 362) to already learn about parameters and return values. Furthermore, did you email me? Or post on Piazza? If you answered no to both of these, then you were not effectively utilizing your resources.
Considering how important anonymous/higher-order functions are to programming, I think it would be a great small (2 or so lecture) mini-unit to break up the monotony of the more abstract material that we are mostly learning, while enhancing our skillsets as programmers.
We already missed two periods of class. I'm not sure how you expect me to even consider or do this since we are already behind.
Thirdly, I don't think we spent enough time just discussing the recursive descent portion of the lab in general. I know we did some in class, but it wasn't enough for me. I think that maybe the next time you assign the lab, maybe you should do a mini lecture in the linux lab before the students get working on the specifics of the functions; in particular, how a character gets parsed, in-depth descriptions of the helper functions, and so on.
I will not hand-feed you how everything works. I provided documentation. You have access to an OCaml REPL where you can test code and see how values evolve after calling functions.
I thought this was one of the more challenging labs that I have done, but I also thought that we had a more than fair amount of time to complete it and that you were very accessible throughout the entire process. Overall I found recursive descent very helpful for better understanding grammar parsing and think the concept of the lab is a good idea.
It was a little unfortunate we didn't have that much lab time for the assignment but I am not using that as an excuse I just didn't understand the recursive descent portion that well and I should have asked more questions to better understand it.
Please do ask more questions earlier on.
I definitely would not have figured out the recursive descent on my own, and I needed Professors Killian help on it to get it done and understand it. I knew this back when it was assigned though, so I made sure to get help before spring break and get it as early as possible.
good challenge, totally stumped
the most difficult part of the assignment for me was the reursive descent I just couldn't manage to grasp an understanding of how to parse them and put every thing together, and I alsot struggled because I still quite don't understand how to use helper functions within ocaml.
If you are having foundational issues with OCaml, you need to see me. I CANNOT SPEND TIME IN CLASS ON OCAML CONSTRUCTS WE ALREADY LEARNED.
it would be helpful for more examples and descriptions pertainting to the lab
I gave you everything you needed to do and over three weeks to do it
I wish we would've been able to get some lab time for this. I'm glad the due date was extended though I wouldn't have wanted to do it over spring break.
Weather sucks.