hi sir. is having a good understanding of the labs enough for the lab test 3? i mean you said we should expect the written test and lab test to be harder. so if i know the concept and understand the labs, will it be enough? thanks in advance
can we expect Generics and Iterable/Iterator on the lab test? cause there were no labs given out on these two topics :( I have tried doing the labs given in the book but so far an epic failure!!!... back to utube videos :)
The fundemental flaw with university : a good professor + a group of hard working students = the professor must find a way to make the grades lower.
No offense sir, but you designed these past tests to cover the material in a fair and effective manner. If everyone is succeeding, does that not mean success on your part? Certainly these are both final exams, and you should challenge us, but it is sad in my opinion that you are citing our success as the reason why the final exam will be harder, not the fact that the course material merits such difficulty. Furthermore, the amount of work since the 2nd test has decreased substantially, as have the difficulty of the labs, while the difficulty of the concepts have increased drastically. Are you setting us up for failure, because I still cannot determine a feasible way to practice the material in the respect presented in this class. Although I am posting as anonymous, it really frustrates me that I have asked you, both on these forums and in person for more material to practice, as we haven't had any labs with searching, sorting, iterators, and I will go so far as to say recursion as well, because 2 lines of code is not a lab. Realistically, last semester we had a heavily structured course with 4 problems a week that we could submit for instantaneous electronic feedback, as well as a plethora of other problems that would take from an hour or two, to a day or two to accomplish. This semester we have a textbook that does not follow the same style convention as our course, and does not follow the same theme as our course. If you want to make your exam hard, as I'd imagine you already have, go right ahead. But next year, when you begin the first CSE 1030 lecture, do not tell your students that the key to success in this course is practice. The key to success in this course is prior programming experience, and those with it are set to succeed by a far greater margin than those who are here to work hard, and require this course for their major. All I ask, once again, is that you post some extra material to help us practice for this harder test, to level out this playing field.
Just a comment on the high average: The material for tests 1 and 2 very much overlapped with CSE1020. However, the material that we covered after Test 2 is mostly new and was not really covered in 1020. So maybe that's why the average was higher on the first two tests..
The average might have been high because the material for Test 2 overlapped very much with CSE1020. However, the material after Test 2 does not (it's mostly new material), making Test 3 already more difficult.
I am a little dissapointed that you removed my previous post.
You stated two key pieces of information at the beginning of the semester: 1) traditionally 40% of CSE 1030 students do not meet the minimum C+ standard required for further computer science courses; 2) Practice, practice, practice is the key to success in this course.
Since the last exam we have covered material that was not covered in the previous course, while the past two tests covered material that was previously covered in CSE 1020.
With that being said, two facts remain:
1) We have received one serious lab since the midterm, that was the lab on linked lists. The other lab pretaining to testable material, the recursive function lab, required 2 lines of code. If you compare the testable concepts since the last exam(as per your list) to the concepts we have covered in the labs, we have only covered 3/7. Furthermore, 1 of those in far too little depth. Compare this situation to the heavily structured course that CSE 1020 was. This transition is extremely difficult, and, considering the textbook at this point is virtually useless for the scope of the course, I have paid FAR too much money to receive such few resources.
2) The statement you made above is rather counter-intuitive to the statement you made on the first day. You expressed that it is a challenging course that many people do not succeed in the first time around. It is our responsibility to ensure our success. However, now that a large portion of the class is succeeding, you claim it is not due to our personal merits and hard work, but rather due to the leniency of the TAs. As such, your solution is to make the final exam significantly more difficult to compensate for the high marks.
If you want to challenge us because we are bright and succeeding in what you have stated is a relatively difficult course, then by all means please do. But please fascilitate this challenge with the necessary resources such that any student who has enrolled in this course, and passed CSE 1020 has the opportunity to succeed, not just those with prior programming experience.
Didn't the Test 2 marks also go up because you lowered the total. So even people who completely messed up question #1 gained marks.
If someone got 15/20=75% then their mark changed to 15/19=79% so they went up by 4% for doing nothing. In fact, the whole class average went up this way.
@10:43 and @10:54: I would also say, in comparison with previous years' tests, Test 2 was easy. So it will be both more intrinsically difficult, and marked more carefully.
@3:43 and @10:52: For some reason your posts got caught in the spam filter. I am pleasantly surprised by the performance of this years' students, and my goal in making a more difficult test is not to fail people, but to sort out the A students from the B students. Right now, something like 50% of the class has an A or A+, and although this is the best class of 1030 that I have seen in my years at York, you're not that good. :-)
As far as resources and practice, you're right that the labs have been less well structured. I was not pleased with the available labs from previous years, so I have been developing new labs from scratch. Apparently they are still rough around the edges, and we need feedback, so thanks for that. As far as the textbook is concerned, my course notes are developed straight from the textbook, and while it's not as close to the material as the 1020 text, it is certainly the best text on the market for this course.
As far as practice is concerned, I'll try to post some additional practice problems.
@11:54 I don't want to be the one to offend anyone but one thing that is extremely obvious and should be well known is that the professors can't be too easy because they need to follow a guideline. Seems to me like professors generally go for something like a 65 average. In this course, professor eckford is much easier on us because we need higher than 65 so he might be aiming at a 70. He says he's trying to sort out the A students from the B student. You in turn ask, what about the C students? I again don't want to offend and I am by no means saying that i myself am an A student, but if you cannot meet the requirements of a certain standard, you are not good enough for that standard. Maybe it's not your thing, you arent stupid but you arent a computer science guy. Sometimes you study and fail sometimes you study and pass but its those students who grasp and understand better that need to be distinguished. You eventually realize that people understand better, faster, easier than you do and thats a fact of life.
I am the individual who posted @3:43 and @10:52. First, I apologize for accusing you of deleting my posts, and thanks you for helping sort that out. Second, thank you for posting those links to old labs. Third, thank you for clarifying your above statement and taking the time to create labs that you feel are better suited to our course and the learning process. I jumped to conclusions, and clearly I was mistaken.
@Mohammad, NOBODY ASKED FOR YOUR OPINION!!! why are you replying for proff Eckford?? who asked for you to go all the way and pretend that you "DON'T WANT TO OFFEND ANYBODY" and analyze the whole thing in life??? and again you go and brag about your average in this course and nobody asked for it, my question was clear to proff Eckford if he has considered the case of those students too and not that he only cared for A or B students
one more tip for you, people could be way smarter than you think and it could be many reasons for them not to get the high mark
@2:10 Sorry I didn't want to make you mad. I didn't mention my mark. I mentions I am not necessarily an A student so what I could have any mark. Please don't continue to fight with me on the forum.
I am working with Wrapper class, and I noticed that you can pass a primitive data type as parameter, but you cannot initialize it that way.
Here's an example:
public static void compute(Integer n) { // do something; }
public static void main(String[] args) { compute(34); }
In the method compute, I have an Integer Object as parameter, but I am able to pass a primitive value to it. Why is this behavior possible?
For the case of String I can understand it, as String can be declared both ways.
String n = "44"; String s = new String("44");
But, Wrapper class cannot be initialized both ways, so why is it possible to pass a primitive data type to a method that accepts a Wrapper Object. Can anyone explain?
So, when x is initialized, java checks if "44" already exists, and as it exists, it assigns the the same reference to x. But, when you declare using new operator, it creates a new memory location. So, s and x points to same location, but n points to different location although they are all "44".
As far as I know, Java discourages the usage of new operator in String, unless its explicitly needed.
What 5:02PM is actually true, but the problem with that, as 8:07 PM pointed out, is that you would pretty much never use == with Strings. You would use .equals() instead then you would get the following result:
Yes, we would never use == for comparing the contents of two different objects. == is used to compare the reference of two objects.
I was simply pointing out to @4:21, who suggested that creating Strings using primitive approach is equivalent to using new operator. They are not (at least not in the way they are managed in memory).
new operator allocates a new space in memory and assigns the new reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its *internal* hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
So, for example:
String s = "44"; String n = "44"; String x = new String("44");
Both s and n points to same location in memory (thus s == n returns true). While, s & x points to different location in memory.
For comparing the contents of string, yes, .equals or (.equalsIgnoreCase for case insensitivity) should be used.
I posted @(April 12, 2011 8:07 PM). Turns out, I was reading your post completely out of focus.
Sure enough, you're right. Object equality makes the two string declarations different, and your inference was spot on.
My apologies, once again.
>>> @(April 12, 2011 8:36 PM)
I see your point, but the questions was if the two declarations do the same thing java-wise? As (April 12, 2011 5:02 PM) pointed out, they don't. My reply was irrelevant to what he/she was talking about.
Anyways, announcements like these, 4 days before the exam, makes me wonder:- "Just how much does a doctor's note cost?"
Yes, we would not use == for comparing the contents of two different objects. == is used to compare the reference of two objects.
I was simply pointing out to @4:21, who suggested creating Strings using primitive approach is equivalent to using new operator. They are not (at least not from memory).
new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its internal hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
Thus:
String s = "44"; String n = "44"; String x = new String("44");
s == n returns true as they point to same location, whilst s == x returns false as they are pointing to two different location in memory.
For comparing the contents of string, yes, .equals or .equalsIgnoreCase should be used.
== is used to check the memory location of two objects, not their contents.
I was simply pointing out to @4:21, who suggested creating Strings using primitive approach is equivalent to using new operator. They are not (at least not from memory).
new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its internal hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
Thus:
String s = "44"; String n = "44"; String x = new String("44");
s == n returns true as they point to same location, whilst s == x returns false as they are pointing to two different location in memory.
For comparing the contents of string, yes, .equals or .equalsIgnoreCase should be used.
== is used to check the memory location of two objects, not their contents.
For the case of String, new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its *internal* hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
So,
String s = "44"; String n = "44"; String x = new String("44");
s==n returns true as they point to same location, whilst s==x returns false as they are pointing to two different location in memory.
For comparing the contents of string, yes, .equals should be used.
30+ COMMENTS?!!!!! wowwwwwwwwwwwwwwwwwww. i feel good knowing that im not the only one scared about this one:)
****************************************** JUST STUDY HARD AS YOU CAN BOYS n GIRLS :)!!!! ****************************************** I Think we should be thanking prof for giving us the warning. imagine if he didn't care to tell us and we went into the exam are like W**?. LOL...SO YEH just do your best. trust me im in the B group and am scared shit about this exam out of all the other ones. but ones gotta think positive cause we have no other choice but to think positive. GOOD LUCK all!!!!!:)
Since this course has almost come to an end, I must say that 1020 gave me a really good impression of CSE at York, but this class completely ruined it. The lack of organization and structure was ridiculous. This final statement that the exam will be much harder is simply too much.
Is it our fault if your TAs could not handle marking tests? Why are we being told 4 days before the exam that it will be harder. I have 4 other exams to study for. This has thrown off my scheduling completely.
Serious reform is needed in at least our class to bring it up to speed with other universities.
Prof. Eckford when you mention the class average are you taking both sections M and Z? or just your class? I'm wondering if Turpin's class is doing as well or not.
If we read all the topics/sections listed on the calendar, will we be prepared enough for the written part? Or should we do extra readings regarding the topics you said were going to be emphasized
So someone wrote a rap for you during the exam? That's nice of them, lol.
Anyway, here's my exam feedback:
1) Written test was fair in my opinion. I didn't get "rapped", lol
2) The labtest had one tricky part that I still don't really understand. It's the recursive reverse method. It just didn't make sense to me. We're not returning anything, we're not printing anything to the screen, and we can't mutate an array. So how will anyone know what this method is doing? Plus, I couldn't figure out how to make it recursive anyway. Will we get to see a solution for that?
2) For the recursive method. What you would do is take the element at l and r, and swap them around. Then you call the recursive method again except with (l + 1) and (r - 1). You keep doing this as long as l < r.
You would first store at least one of them in a temp value then swap them. Like so:
int tempL = A[l]; A[l] = A[r]; A[r] = tempL;
Array is an object in java. Your constantly passing the reference to the originally passed array and such any changes you make to it inside the recursion will be visible outside the recursion method. No return type was ever needed.
return; (return followed by a semi-colon doesn't return any value).
It technically stops the execution of the method as return is the last statement of a method. However, it doesn't return any value. You can give it a try.
we did Array Reverse in section M, and the linkedList question is hard. i can't figure it out until i finished lab test. And the Linked List is different from what we learned from Turpin
For the LinkedList question I wrote my own traverse(int position) method so that I can get to the third last position easily. After that it's just a matter of reassigning next pointers.
If you went into the exam with an A+, you would only need a 20-25% on the exam just to pass with a C+. Hell, to get a D going in with an A+ would require you to get a flat zero on the exams. If you couldn't manage to even get 1 in 5 marks then you need to look at your study habits.
The prof gave us a list of what's testable on April 5th, he didn't deviate at all from that list.
Literally the only way to go from A+ to D is to have a low A+ and then get zero on the exam. And about the only way to get zero on the exam is to answer "Fuck you" for every question.
Seriously! Stop torturing yourselves. Yes it was hard, but you almost certainly did better than you think you did. So go have a beer, do some yoga, shoot some hoops, or do whatever you do to relax and forget about it. And anyway, there's nothing you can do about it now, so why worry. Voice of experience talking here.
I swear the lab sign-in policy was announced on the first day of class. If you had any conflicts, why not talk to him about it?
If there were no schedule conflicts then how do you not attend 4 out of 8 labs? Besides the labs really did prepare us for the tests, not really the exam, but that's beside the point.
I'm sure no one would be stupid enough to come all the way from Oshawa to sign-in for the labs you asses. Do you think I would not attend the lab sessions on purpose. Use your brain please
Hahaha, funny how there are so many whiners here. If nothing, the exam certainly separated people who knew their stuff from small amount of butthurt slackers who expected to get a good mark by doing nothing. :)
He mentioned from the very start that this course was going to get harder and harder. After the last test, he said things will only get harder. He warned about dropping the class before the drop deadline, and heck he even said that this exam was going to be hard. (Read the title...)
I don't get why anyone is to complain, as it is only unfair if no one could do good on the test. If in the end, all of the class average dropped to a D or something, only then do we have a right to call the test unfair.
So until then, please stop embarrassing yourself and stop sharing how bad you think you did. It doesn't change anything, and we don't need to know... I heard diaries are great for stuff like that. ;)
Jokes aside, please quit crying a new Lake Ontario because you don't know your mark yet. Chill, and put more work into your next exam. Good luck with the next one. :)
@April 15, 2011 5:42 PM 1. You mad. 2. There are two lab sessions 3. He asked you arrange things with him in the beginning of the term 4. If you boss called you in for a meeting from Oshawa, will you just tell him to F'off?
Why does everyone sound so mad? sure we all did worse than we would have liked but can we treat eachother with a little decency? Is it that hard just to say what you have to say nicely? I mean, even the proff sounds angry. Don't get me wrong, i understand why everyone is so upset, but lashing out on the forum is just not the answer, and frankly its just immature. we have enough trolls on youtube, we dont need them on a university course forum.
You sound angry too, lol. Anyway, it's just that everyone is nervous about their final mark. Nobody wants to fail or see their grade drop by 30%. Professor Eckford is right though, at this point there's nothing we can do about it so everyone should just let go and forget about it.
@April 15, 2011 8:12 PM
I agree. Honestly, in my experience, Professor Eckford is one of the best professors I've seen at York University. Most professors bore us to (near) death, but I found that the examples we did together in class kept me alert and I always followed along and wrote out all of the classes.
Some people are being so rude for no reason. Honestly, my exam was also not good. I had an A+ before the final.
Before the finals, I ended up practicing too much for programming which jeopardized my written preparation. I wrote my own recursive methods for walk of LinkedList, wrote recursion for sumOfSquares and others etc. In the end, my lab test was ok, but, the written was not. But, its over now and I can't change the past.
I look forward to the final mark/grade. I am hoping that the TA's would mark us leniently.
How about some computer science jokes to lighten the mood?
A man is smoking a cigarette and blowing smoke rings into the air. His friend becomes irritated with the smoke and says, “Can’t you see the warning on the cigarette pack? Smoking is hazardous to your health!”
To which the man replies, “I am a programmer. We don’t worry about warnings; we only worry about errors.”
**************************************
How many C programmers does it take to change a light bulb?
Answer: You’re still thinking procedurally! A properly designed light bulb object would inherit a change method from a generic light bulb class!
****************************************
Random Shack Data Processing Dictionary:
Endless Loop: n., see Loop, Endless. Loop, Endless: n., see Endless Loop.
*******************************************
There are 10 types of people: those who understand binary, and those who do not understand it.
*******************************************
The human mind ordinarily operates at only ten 10% of its capacity, the rest is overhead for the operating system.
*******************************************
You never finish a program, you just stop working on it.
What does Java Programming have in common with sex with a fat woman? You'll enjoy both of them very much but you'll not want to tell your friends about it :-)
@ Andrew I think being a prof you should mind your language. Look what the Blog is now, everyone posting whatever comes to their mind. Lead like an example
Dude, relax, the course is over. I don't think there's anything wrong with these guys posting jokes. So what? They were posted to get everyone's mind off of the final exam.
I am still wondering why we were introduced to programming with a language like Java which is entirely artificial in the sense that it's required to be interpreted by other software before it can even be executed by the computer, I deem it as little more than scripting. Perhaps starting with C would have been more prudent. Now there are a bunch of people moving on with the notion that Objects somehow actually exist in the eyes of a computer, which is false.
I've heard that it's actually more difficult to go from a language like C to Java. There are certain habits and notions that one picks up from C as well. Apparently, it's difficult not to think in C once you learn it so something so different like Java is confusing for someone who's used to C. I don't think the other way around is too difficult.
My friend goes to McMaster University and he also studies engineering. For their first year they were taught C#, which is pretty close to Java. I think everyone starts with an intermediate level language.
I do not see how it is the case. Once you have learned C you have a good idea of how the computer does things. Objects is a clever invention but once you understand how it was created you will realize its true nature and be able to utilize it. I know C and have never done any Object Oriented programming prior to this course. It has been absurdly easy.
There're many forms of "knowing" the language. You could know the syntactic sugar, etc and say you know it, or knows the ins and outs of the language (i.e. how it's headers files are programmed, etc) and say you know it.
Since this is an introduction course to programming, if you know a little programming in any other languages, this course will seem absurdly easy... Because the concept had already been introduced to you.
Personally, I known C before and I'm glad to be introduced to another language.
By 'knowing' I meant knowing how it actually works behind the scenes, knowing the syntax is easy. Knowing what really happens when you call a function is along the lines of what I had in mind. Perhaps the 'theory of computation' course 2001 will touch on this. C is a good language because it's essentially 'simplified' ASM in the sense that it takes away the complexity along with some versatility but also allows for multiplatform functionality (with optimization for each platform still required of course).
For the last chapters we covered in class, it seems like I did not take too much of notes.
ReplyDeleteHow well would it be if I prepared for the chapters through the book ?
Also, thank you for the info !
ReplyDeletehi sir. is having a good understanding of the labs enough for the lab test 3? i mean you said we should expect the written test and lab test to be harder. so if i know the concept and understand the labs, will it be enough?
ReplyDeletethanks in advance
can we expect Generics and Iterable/Iterator on the lab test? cause there were no labs given out on these two topics :( I have tried doing the labs given in the book but so far an epic failure!!!... back to utube videos :)
ReplyDeleteThe fundemental flaw with university : a good professor + a group of hard working students = the professor must find a way to make the grades lower.
ReplyDeleteNo offense sir, but you designed these past tests to cover the material in a fair and effective manner. If everyone is succeeding, does that not mean success on your part? Certainly these are both final exams, and you should challenge us, but it is sad in my opinion that you are citing our success as the reason why the final exam will be harder, not the fact that the course material merits such difficulty. Furthermore, the amount of work since the 2nd test has decreased substantially, as have the difficulty of the labs, while the difficulty of the concepts have increased drastically. Are you setting us up for failure, because I still cannot determine a feasible way to practice the material in the respect presented in this class. Although I am posting as anonymous, it really frustrates me that I have asked you, both on these forums and in person for more material to practice, as we haven't had any labs with searching, sorting, iterators, and I will go so far as to say recursion as well, because 2 lines of code is not a lab. Realistically, last semester we had a heavily structured course with 4 problems a week that we could submit for instantaneous electronic feedback, as well as a plethora of other problems that would take from an hour or two, to a day or two to accomplish. This semester we have a textbook that does not follow the same style convention as our course, and does not follow the same theme as our course. If you want to make your exam hard, as I'd imagine you already have, go right ahead. But next year, when you begin the first CSE 1030 lecture, do not tell your students that the key to success in this course is practice. The key to success in this course is prior programming experience, and those with it are set to succeed by a far greater margin than those who are here to work hard, and require this course for their major. All I ask, once again, is that you post some extra material to help us practice for this harder test, to level out this playing field.
Just a comment on the high average: The material for tests 1 and 2 very much overlapped with CSE1020. However, the material that we covered after Test 2 is mostly new and was not really covered in 1020. So maybe that's why the average was higher on the first two tests..
ReplyDeleteThe average might have been high because the material for Test 2 overlapped very much with CSE1020. However, the material after Test 2 does not (it's mostly new material), making Test 3 already more difficult.
ReplyDeleteThe average for Test 2 was high because the TAs were marking far too leniently. Part marks were given for answers that were way off.
ReplyDeleteSo then if you say the TAs were marking leniently, does that mean the "difficult" part of the exam will be the test itself or the way the TAs mark us?
ReplyDeleteThe material is already much more difficult than what we dealt with in tests 1 and 2. Also, we've had little practice with the newest concepts.
Sir,
ReplyDeleteI am a little dissapointed that you removed my previous post.
You stated two key pieces of information at the beginning of the semester:
1) traditionally 40% of CSE 1030 students do not meet the minimum C+ standard required for further computer science courses;
2) Practice, practice, practice is the key to success in this course.
Since the last exam we have covered material that was not covered in the previous course, while the past two tests covered material that was previously covered in CSE 1020.
With that being said, two facts remain:
1) We have received one serious lab since the midterm, that was the lab on linked lists. The other lab pretaining to testable material, the recursive function lab, required 2 lines of code. If you compare the testable concepts since the last exam(as per your list) to the concepts we have covered in the labs, we have only covered 3/7. Furthermore, 1 of those in far too little depth. Compare this situation to the heavily structured course that CSE 1020 was. This transition is extremely difficult, and, considering the textbook at this point is virtually useless for the scope of the course, I have paid FAR too much money to receive such few resources.
2) The statement you made above is rather counter-intuitive to the statement you made on the first day. You expressed that it is a challenging course that many people do not succeed in the first time around. It is our responsibility to ensure our success. However, now that a large portion of the class is succeeding, you claim it is not due to our personal merits and hard work, but rather due to the leniency of the TAs. As such, your solution is to make the final exam significantly more difficult to compensate for the high marks.
If you want to challenge us because we are bright and succeeding in what you have stated is a relatively difficult course, then by all means please do. But please fascilitate this challenge with the necessary resources such that any student who has enrolled in this course, and passed CSE 1020 has the opportunity to succeed, not just those with prior programming experience.
Didn't the Test 2 marks also go up because you lowered the total. So even people who completely messed up question #1 gained marks.
ReplyDeleteIf someone got 15/20=75% then their mark changed to 15/19=79% so they went up by 4% for doing nothing. In fact, the whole class average went up this way.
@10:43 and @10:54: I would also say, in comparison with previous years' tests, Test 2 was easy. So it will be both more intrinsically difficult, and marked more carefully.
ReplyDelete@3:43 and @10:52: For some reason your posts got caught in the spam filter. I am pleasantly surprised by the performance of this years' students, and my goal in making a more difficult test is not to fail people, but to sort out the A students from the B students. Right now, something like 50% of the class has an A or A+, and although this is the best class of 1030 that I have seen in my years at York, you're not that good. :-)
As far as resources and practice, you're right that the labs have been less well structured. I was not pleased with the available labs from previous years, so I have been developing new labs from scratch. Apparently they are still rough around the edges, and we need feedback, so thanks for that. As far as the textbook is concerned, my course notes are developed straight from the textbook, and while it's not as close to the material as the 1020 text, it is certainly the best text on the market for this course.
As far as practice is concerned, I'll try to post some additional practice problems.
Here are some labs from previous years:
http://www.cse.yorku.ca/course_archive/2009-10/S/1030/calendar/index.shtml
http://www.cse.yorku.ca/course_archive/2010-11/F/1030/calendar/index.shtml
but sir wouldn't that effect the C or C+ students if you try to drop the class average on the final exam??
ReplyDeletealso should we expect any theory questions like definitions or anything like that, or would only be coding on the written part?
thank you
@11:54 I don't want to be the one to offend anyone but one thing that is extremely obvious and should be well known is that the professors can't be too easy because they need to follow a guideline. Seems to me like professors generally go for something like a 65 average. In this course, professor eckford is much easier on us because we need higher than 65 so he might be aiming at a 70. He says he's trying to sort out the A students from the B student. You in turn ask, what about the C students? I again don't want to offend and I am by no means saying that i myself am an A student, but if you cannot meet the requirements of a certain standard, you are not good enough for that standard. Maybe it's not your thing, you arent stupid but you arent a computer science guy. Sometimes you study and fail sometimes you study and pass but its those students who grasp and understand better that need to be distinguished. You eventually realize that people understand better, faster, easier than you do and thats a fact of life.
ReplyDelete@Mohammad true that.
ReplyDeleteI am the individual who posted @3:43 and @10:52. First, I apologize for accusing you of deleting my posts, and thanks you for helping sort that out. Second, thank you for posting those links to old labs. Third, thank you for clarifying your above statement and taking the time to create labs that you feel are better suited to our course and the learning process. I jumped to conclusions, and clearly I was mistaken.
ReplyDelete@Mohammad, NOBODY ASKED FOR YOUR OPINION!!! why are you replying for proff Eckford?? who asked for you to go all the way and pretend that you "DON'T WANT TO OFFEND ANYBODY" and analyze the whole thing in life??? and again you go and brag about your average in this course and nobody asked for it, my question was clear to proff Eckford if he has considered the case of those students too and not that he only cared for A or B students
ReplyDeleteone more tip for you, people could be way smarter than you think and it could be many reasons for them not to get the high mark
@2:10 Sorry I didn't want to make you mad. I didn't mention my mark. I mentions I am not necessarily an A student so what I could have any mark. Please don't continue to fight with me on the forum.
ReplyDeleteI wonder how to filter off B student from A without filtering C student off B.
ReplyDelete@April 12, 2011 2:39 PM
ReplyDeleteIf everyone continues studying as they always have then every grade group will lose some members.
I am working with Wrapper class, and I noticed that you can pass a primitive data type as parameter, but you cannot initialize it that way.
ReplyDeleteHere's an example:
public static void compute(Integer n)
{
// do something;
}
public static void main(String[] args)
{
compute(34);
}
In the method compute, I have an Integer Object as parameter, but I am able to pass a primitive value to it. Why is this behavior possible?
For the case of String I can understand it, as String can be declared both ways.
String n = "44";
String s = new String("44");
But, Wrapper class cannot be initialized both ways, so why is it possible to pass a primitive data type to a method that accepts a Wrapper Object. Can anyone explain?
@3:48
ReplyDeleteIt's called autoboxing. The int is automatically converted to an Integer object. Also note that the statement
String n = "44";
is just a convenience offered by Java. Behind the scenes, it is truly equivalent to
String n = new String("44");
I just found out its answer for @3:48 PM. Isn't it funny when you answer your own question!
ReplyDeleteThere's a feature in Java called auto-boxing, which converts primitive values to their corresponding wrapper objects & vice-versa automatically.
If anyone else has the same question, check out this link:
http://download.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html
@4:21, As far as I know they are not truly equivalent.
ReplyDeleteConsider the following example:
String s = "44";
String n = new String("44");
String x = "44";
You can verify it by outputting the following:
System.out.println(s == n); // return false;
System.out.println(x == s); // return true;
So, when x is initialized, java checks if "44" already exists, and as it exists, it assigns the the same reference to x. But, when you declare using new operator, it creates a new memory location. So, s and x points to same location, but n points to different location although they are all "44".
As far as I know, Java discourages the usage of new operator in String, unless its explicitly needed.
@April 12, 2011 5:02 PM
ReplyDeleteIf I was gonna make this exam harder for you, the following question would be on it:-
"How do you check equality for strings in java?"
... possibly, make it the only question on the exam. Mind the "If".
@April 12, 2011 5:02 PM
ReplyDeleteand @April 12, 2011 8:07 PM
What 5:02PM is actually true, but the problem with that, as 8:07 PM pointed out, is that you would pretty much never use == with Strings. You would use .equals() instead then you would get the following result:
System.out.println(s.equals(n)); // return true;
System.out.println(x.equals(s)); // return true;
So it actually doesn't matter which way you initialize the String because we only care about comparing the contents.
@April 12, 2011 8:36 PM,
ReplyDeleteYes, we would never use == for comparing the contents of two different objects. == is used to compare the reference of two objects.
I was simply pointing out to @4:21, who suggested that creating Strings using primitive approach is equivalent to using new operator. They are not (at least not in the way they are managed in memory).
new operator allocates a new space in memory and assigns the new reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its *internal* hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
So, for example:
String s = "44";
String n = "44";
String x = new String("44");
Both s and n points to same location in memory (thus s == n returns true). While, s & x points to different location in memory.
For comparing the contents of string, yes, .equals or (.equalsIgnoreCase for case insensitivity) should be used.
>>> @(April 12, 2011 5:02 PM)
ReplyDeleteI posted @(April 12, 2011 8:07 PM). Turns out, I was reading your post completely out of focus.
Sure enough, you're right. Object equality makes the two string declarations different, and your inference was spot on.
My apologies, once again.
>>> @(April 12, 2011 8:36 PM)
I see your point, but the questions was if the two declarations do the same thing java-wise? As (April 12, 2011 5:02 PM) pointed out, they don't. My reply was irrelevant to what he/she was talking about.
Anyways, announcements like these, 4 days before the exam, makes me wonder:- "Just how much does a doctor's note cost?"
@April 12, 2011 8:36 PM,
ReplyDeleteYes, we would not use == for comparing the contents of two different objects. == is used to compare the reference of two objects.
I was simply pointing out to @4:21, who suggested creating Strings using primitive approach is equivalent to using new operator. They are not (at least not from memory).
new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its internal hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
Thus:
String s = "44";
String n = "44";
String x = new String("44");
s == n returns true as they point to same location, whilst s == x returns false as they are pointing to two different location in memory.
For comparing the contents of string, yes, .equals or .equalsIgnoreCase should be used.
@April 12, 2011 8:36 PM,
ReplyDelete== is used to check the memory location of two objects, not their contents.
I was simply pointing out to @4:21, who suggested creating Strings using primitive approach is equivalent to using new operator. They are not (at least not from memory).
new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its internal hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
Thus:
String s = "44";
String n = "44";
String x = new String("44");
s == n returns true as they point to same location, whilst s == x returns false as they are pointing to two different location in memory.
For comparing the contents of string, yes, .equals or .equalsIgnoreCase should be used.
@April 12, 2011 8:36 PM,
ReplyDelete== is used to check the memory location of two objects, not their contents.
For the case of String, new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its *internal* hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.
So,
String s = "44";
String n = "44";
String x = new String("44");
s==n returns true as they point to same location, whilst s==x returns false as they are pointing to two different location in memory.
For comparing the contents of string, yes, .equals should be used.
@April 12, 2011 8:58, no need for apologies :)
ReplyDeleteit all dependents on how you mark it , for the test2, it is not easy. But you give us a lot of changes.
ReplyDelete30+ COMMENTS?!!!!! wowwwwwwwwwwwwwwwwwww. i feel good knowing that im not the only one scared about this one:)
ReplyDelete******************************************
JUST STUDY HARD AS YOU CAN BOYS n GIRLS :)!!!!
******************************************
I Think we should be thanking prof for giving us the warning. imagine if he didn't care to tell us and we went into the exam are like W**?. LOL...SO YEH just do your best. trust me im in the B group and am scared shit about this exam out of all the other ones. but ones gotta think positive cause we have no other choice but to think positive. GOOD LUCK all!!!!!:)
i just realized the time on this thing is wrong i just posted a blog up @ 5:28am but it says 2:28am? hey wat gives!!!!!?
ReplyDeletesuggestion==>
ReplyDeletemake up your own LAB to practice. i mean first do lab 8. then make it generic, then do something to with iterator/comparable. you know be creative!
Since this course has almost come to an end, I must say that 1020 gave me a really good impression of CSE at York, but this class completely ruined it. The lack of organization and structure was ridiculous. This final statement that the exam will be much harder is simply too much.
ReplyDeleteIs it our fault if your TAs could not handle marking tests? Why are we being told 4 days before the exam that it will be harder. I have 4 other exams to study for. This has thrown off my scheduling completely.
Serious reform is needed in at least our class to bring it up to speed with other universities.
l2makeanexampl0x.
ReplyDeleteSo when's the labtest? My exam timetable just mentions Friday from 9 for CSE1030 -- nothing else. Are the labtest and written test back-to-back?
ReplyDeleteIn the class, I don't recall inheritance in Generics being discussed. Are we expected to those as well?.
ReplyDeleteFor example:
public class Person1<T> extends <G>
note that I am not talking about:
public class Person<T extends Comparable>
And, what about polymorphism among Generics, are we expected to know those as well, like:
public class Person<T extends Student, Comparable>
?
Professor,
ReplyDeleteWhy was my post deleted?
Hope that we will be given enough time in the exam for those hard questions!
ReplyDeleteI mean not just enough to write it but enough to think about it as well.
Prof. Eckford when you mention the class average are you taking both sections M and Z? or just your class? I'm wondering if Turpin's class is doing as well or not.
ReplyDeleteIf we read all the topics/sections listed on the calendar, will we be prepared enough for the written part? Or should we do extra readings regarding the topics you said were going to be emphasized
ReplyDeleteNobody will die a virgin, the exam will rape everyone.
ReplyDeletepsshh... Come on, I can take this exam! Watch me walk out with an A+!
ReplyDelete@8:45 PM
ReplyDeleteI wish I had your confidence
I just got rapped!!!!!
ReplyDeleteI am so pissed off at this.. This isn't fair, i had an A before, now I will fail, <60.
ReplyDeleteNot only this has affected me academically, this has set me back really bad. I will mess up my other tests too..
So Disappointed.
@April 15, 2011 9:34 AM
ReplyDeleteSo someone wrote a rap for you during the exam? That's nice of them, lol.
Anyway, here's my exam feedback:
1) Written test was fair in my opinion. I didn't get "rapped", lol
2) The labtest had one tricky part that I still don't really understand. It's the recursive reverse method. It just didn't make sense to me. We're not returning anything, we're not printing anything to the screen, and we can't mutate an array. So how will anyone know what this method is doing? Plus, I couldn't figure out how to make it recursive anyway. Will we get to see a solution for that?
Sir, you succeeded.. this last test (especially lab test) was extremely challenging!!
ReplyDelete@ April 15, 2011 9:52 AM
ReplyDelete1) Agreed. I felt it was pretty fair as well.
2) For the recursive method. What you would do is take the element at l and r, and swap them around. Then you call the recursive method again except with (l + 1) and (r - 1). You keep doing this as long as l < r.
@ April 15, 2011 9:52 AM
ReplyDeleteWow!!! I almost had it!
When you say swap them, what are you actually doing? Where are you storing these swapped elements?
Sorry I meant to reply @April 15, 2011 10:08 AM
ReplyDelete@ April 15, 2011 10:08 AM
ReplyDeleteYou would first store at least one of them in a temp value then swap them. Like so:
int tempL = A[l];
A[l] = A[r];
A[r] = tempL;
Array is an object in java. Your constantly passing the reference to the originally passed array and such any changes you make to it inside the recursion will be visible outside the recursion method. No return type was ever needed.
@ April 15, 2011 10:08 AM
ReplyDeleteYa, makes sense. I don't know, I guess I just blanked out and over complicated the problem.
@April 15, 2011 10:13 AM
ReplyDeleteWhat did you do when you hit the stopping case?
public class exam
ReplyDelete{
public static void reverse(int[] A, int l, int r)
{
System.out.println(A[r]);
if ((r-l) > 0)
{
reverse(A, l, r-1);
}
}
}
public class Client
ReplyDelete{
public static void main(String[] args)
{
int[] A = {6, 2, 4, 8, 6};
exam.reverse(A, 0, 4);
}
}
@April 15, 2011 10:43 AM
ReplyDeleteYa, I probably shouldn't have looked at the answer, lol. Now I feel suicidal...
All that practice and I choke on a 3 liner problem...
Anonymous @
ReplyDeleteApril 15, 2011 10:43 AM
April 15, 2011 10:45 AM
I don't think that's correct... afaik, the method doesn't ask you to print the array, rather to swap the values.
e.g:
int[] arr = {1, 2, 3};
ArrayMethods.toString(arr);
// This prints out [1, 2, 3]
ArrayMethods.reverse(arr);
// This reverses the array
ArrayMethods.toString(arr);
// This prints out [3, 2, 1]
What you did was...
int[] arr = {1, 2, 3};
ArrayMethods.toString(arr);
// This prints out [1, 2, 3]
ArrayMethods.reverse(arr);
// This PRINTs out 3, 2, 1
ArrayMethods.toString(arr);
// This prints out [1, 2, 3]
You might have had it confused with print reverse...?
@ April 15, 2011 11:03 AM
ReplyDeleteYou might be right about that. So you're saying we had to make a whole new array with the numbers reversed?
@ April 15, 2011 12:16 PM
ReplyDeleteNo, you had to reverse the order of the array passed to the method. The recursive method didn't have any returns.
I can easily say you raped us on the final :)
ReplyDeleteMy Average from A is coming down to a D
This was my reverse. I think i got it, not sure if it helps.
ReplyDeletepublic static void reverse(int[] A, int l, int r)
{
if (l>=r) return;
int temp = A[r];
A[r] = A[l];
A[l] = temp;
reverse(A, l+1, r-1);
}
I hope the marking isn't too strict. I found the written exam difficult. If the TA's marks it strict, then RIP :( :(!
ReplyDelete@April 15, 2011 1:59 PM
ReplyDeleteHow can you use the "return" keyword if the return type is void?
@April 15, 2011 1:59 PM
ReplyDeletereturn; (return followed by a semi-colon doesn't return any value).
It technically stops the execution of the method as return is the last statement of a method. However, it doesn't return any value. You can give it a try.
we did Array Reverse in section M, and the linkedList question is hard. i can't figure it out until i finished lab test. And the Linked List is different from what we learned from Turpin
ReplyDelete@April 15, 2011 2:55 PM
ReplyDeleteFor the LinkedList question I wrote my own traverse(int position) method so that I can get to the third last position easily. After that it's just a matter of reassigning next pointers.
Thanks for successfully making me fail. from an A+ straight to a D.
ReplyDeleteNot sure what to do now.
If you went into the exam with an A+, you would only need a 20-25% on the exam just to pass with a C+. Hell, to get a D going in with an A+ would require you to get a flat zero on the exams. If you couldn't manage to even get 1 in 5 marks then you need to look at your study habits.
ReplyDeleteThe prof gave us a list of what's testable on April 5th, he didn't deviate at all from that list.
Literally the only way to go from A+ to D is to have a low A+ and then get zero on the exam. And about the only way to get zero on the exam is to answer "Fuck you" for every question.
ReplyDeleteSeriously! Stop torturing yourselves. Yes it was hard, but you almost certainly did better than you think you did. So go have a beer, do some yoga, shoot some hoops, or do whatever you do to relax and forget about it. And anyway, there's nothing you can do about it now, so why worry. Voice of experience talking here.
@Professor Eckford
ReplyDeleteWhen the marks are ready, will they be posted here on the course website?
Thank you
@Professor Eckford
ReplyDeleteWill you bell curve the marks?
@April 15, 2011 5:18 PM
ReplyDeleteLol, wasn't he trying to get the average down in the first place?
@ Andrew
ReplyDeleteWell yeah i'll get a straight 0 on the exam because of the Lab sign-in policy. You really screwed us professor.
@April 15, 2011 5:22 PM
ReplyDeleteI swear the lab sign-in policy was announced on the first day of class. If you had any conflicts, why not talk to him about it?
If there were no schedule conflicts then how do you not attend 4 out of 8 labs? Besides the labs really did prepare us for the tests, not really the exam, but that's beside the point.
@April 15, 2011 5:22 PM
ReplyDeleteNo one screwed you except yourself. We were all told of the sign in policy on day 1, reminded about it multiple times. It's on the course website....
And yet it's someone elses fault you couldn't, at minimum, come into the computer lab, sign in and leave.
@April 15, 2011 5:32 PM
ReplyDeleteI'm sure no one would be stupid enough to come all the way from Oshawa to sign-in for the labs you asses. Do you think I would not attend the lab sessions on purpose. Use your brain please
@April 15, 2011 5:42 PM
ReplyDeleteYou don't have any other classes on lab days? Did you talk to the professor about it?
@5:22 -- maybe you can send me an email?
ReplyDeleteHahaha, funny how there are so many whiners here.
ReplyDeleteIf nothing, the exam certainly separated people who knew their stuff from small amount of butthurt slackers who expected to get a good mark by doing nothing. :)
He mentioned from the very start that this course was going to get harder and harder. After the last test, he said things will only get harder. He warned about dropping the class before the drop deadline, and heck he even said that this exam was going to be hard. (Read the title...)
I don't get why anyone is to complain, as it is only unfair if no one could do good on the test. If in the end, all of the class average dropped to a D or something, only then do we have a right to call the test unfair.
So until then, please stop embarrassing yourself and stop sharing how bad you think you did. It doesn't change anything, and we don't need to know... I heard diaries are great for stuff like that. ;)
Jokes aside, please quit crying a new Lake Ontario because you don't know your mark yet. Chill, and put more work into your next exam. Good luck with the next one. :)
@April 15, 2011 5:42 PM
ReplyDelete1. You mad.
2. There are two lab sessions
3. He asked you arrange things with him in the beginning of the term
4. If you boss called you in for a meeting from Oshawa, will you just tell him to F'off?
I preferred an easy exam like the midterms as well, but am I the only one who thinks Prof. Eckford did an excellent job throughout this course?
ReplyDeleteWhy does everyone sound so mad? sure we all did worse than we would have liked but can we treat eachother with a little decency? Is it that hard just to say what you have to say nicely? I mean, even the proff sounds angry. Don't get me wrong, i understand why everyone is so upset, but lashing out on the forum is just not the answer, and frankly its just immature. we have enough trolls on youtube, we dont need them on a university course forum.
ReplyDelete@April 15, 2011 8:57 PM
ReplyDeleteYou sound angry too, lol. Anyway, it's just that everyone is nervous about their final mark. Nobody wants to fail or see their grade drop by 30%. Professor Eckford is right though, at this point there's nothing we can do about it so everyone should just let go and forget about it.
@April 15, 2011 8:12 PM
I agree. Honestly, in my experience, Professor Eckford is one of the best professors I've seen at York University. Most professors bore us to (near) death, but I found that the examples we did together in class kept me alert and I always followed along and wrote out all of the classes.
All I have to say; that was quite the final exam. We'll see how my grade looks after that.
ReplyDeleteSigned Lazy & Proud
So if we answered "Fuck you" for half the questions, we should probably be fine?
ReplyDelete@April 16, 2011 2:12 PM
ReplyDeleteAre you serious?
Then you may want to seek treatment in here:
ReplyDeletehttp://www.mindcarecentres.com/
Some people are being so rude for no reason. Honestly, my exam was also not good. I had an A+ before the final.
ReplyDeleteBefore the finals, I ended up practicing too much for programming which jeopardized my written preparation. I wrote my own recursive methods for walk of LinkedList, wrote recursion for sumOfSquares and others etc. In the end, my lab test was ok, but, the written was not. But, its over now and I can't change the past.
I look forward to the final mark/grade. I am hoping that the TA's would mark us leniently.
Anonymous @6:31
ReplyDeleteI won't say leniently is the right saying it, IMHO, if we are marked, 'appropriately' then their is no harm.
Disclaimer :- No animals were harmed in the creation of this comment.
Prof. Eckford is marking the exam, not the TAs.
ReplyDeleteHow about some computer science jokes to lighten the mood?
ReplyDeleteA man is smoking a cigarette and blowing smoke rings into the air. His friend becomes irritated with the smoke and says, “Can’t you see the warning on the cigarette pack? Smoking is hazardous to your health!”
To which the man replies, “I am a programmer. We don’t worry about warnings; we only worry about errors.”
**************************************
How many C programmers does it take to change a light bulb?
Answer: You’re still thinking procedurally! A properly designed light bulb object would inherit a change method from a generic light bulb class!
****************************************
Random Shack Data Processing Dictionary:
Endless Loop: n., see Loop, Endless.
Loop, Endless: n., see Endless Loop.
*******************************************
There are 10 types of people: those who understand binary, and those who do not understand it.
*******************************************
The human mind ordinarily operates at only ten 10% of its
capacity, the rest is overhead for the operating system.
*******************************************
You never finish a program, you just stop working on it.
********************************************
Enjoy your Summer everyone!!!
What does Java Programming have in common with sex with a fat woman? You'll enjoy both of them very much but you'll not want to tell your friends about it :-)
ReplyDeleteSo Professor, will you post our final exam marks separately, or will we only see the final letter on the YorkU website?
ReplyDeleteQ. How did the programmer die in the shower?
ReplyDeleteA. He read the shampoo bottle instructions: Lather. Rinse. Repeat.
No stopping case :(
^ LOL!
ReplyDeleteYou guys should join a comedy club :-)
ReplyDelete@ Andrew
ReplyDeleteI think being a prof you should mind your language. Look what the Blog is now, everyone posting whatever comes to their mind. Lead like an example
@April 18, 2011 7:08 PM
ReplyDeleteDude, relax, the course is over. I don't think there's anything wrong with these guys posting jokes. So what? They were posted to get everyone's mind off of the final exam.
@April 18, 2011 7:08 PM
ReplyDeleteIf you think Andrew is not an example, go check out his webpage and see what he has achieved in his life.
For me he's the best example, I've not seen a man so down to earth before, a true leader indeed.
I sincerely thank him for all that he has done for us, and I wish him all the very best for his future.
Thanks Andrew.
@the post above
ReplyDeleteI agree with you completely. Prof. Eckford is someone who I highly respect. Not only is he a good professor, he is also a good person.
Thank you professor, I hope I'd have the chance to be taught by you again.
Prof Eckford is a great man. I'm glad to be taught by him. He's a great prof and a great man too.
ReplyDeleteI am still wondering why we were introduced to programming with a language like Java which is entirely artificial in the sense that it's required to be interpreted by other software before it can even be executed by the computer, I deem it as little more than scripting.
ReplyDeletePerhaps starting with C would have been more prudent. Now there are a bunch of people moving on with the notion that Objects somehow actually exist in the eyes of a computer, which is false.
@April 25, 2011 11:24 AM
ReplyDeleteI've heard that it's actually more difficult to go from a language like C to Java. There are certain habits and notions that one picks up from C as well. Apparently, it's difficult not to think in C once you learn it so something so different like Java is confusing for someone who's used to C. I don't think the other way around is too difficult.
My friend goes to McMaster University and he also studies engineering. For their first year they were taught C#, which is pretty close to Java. I think everyone starts with an intermediate level language.
@April 26, 2011 9:21 AM
ReplyDeleteI do not see how it is the case. Once you have learned C you have a good idea of how the computer does things. Objects is a clever invention but once you understand how it was created you will realize its true nature and be able to utilize it.
I know C and have never done any Object Oriented programming prior to this course. It has been absurdly easy.
There're many forms of "knowing" the language. You could know the syntactic sugar, etc and say you know it, or knows the ins and outs of the language (i.e. how it's headers files are programmed, etc) and say you know it.
ReplyDeleteSince this is an introduction course to programming, if you know a little programming in any other languages, this course will seem absurdly easy... Because the concept had already been introduced to you.
Personally, I known C before and I'm glad to be introduced to another language.
@April 26, 2011 1:51 PM
ReplyDeleteBy 'knowing' I meant knowing how it actually works behind the scenes, knowing the syntax is easy. Knowing what really happens when you call a function is along the lines of what I had in mind. Perhaps the 'theory of computation' course 2001 will touch on this. C is a good language because it's essentially 'simplified' ASM in the sense that it takes away the complexity along with some versatility but also allows for multiplatform functionality (with optimization for each platform still required of course).
This is absolute BS.
ReplyDeleteI don't understand how i could not get a C+ when ALL I needed was a 50% on the final to get that grade? Did i fail that bad?
WOW, the marking was ridiculously unfair...
ReplyDeleteWHAT??? I dropped by 15%!
ReplyDelete