|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#31
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
[][][] [][][] [][][] Because while it may be all nice and cool to look at it's not how I've always understood them to be. |
|
#32
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
One thing to remember is that conventions exist for a reason. It is for some purposes important to know whether a computer stores:
a b c d e f g h i as: a b c d e f g h i or: a d g b e h c f i It is also sometimes important to know if your language interprets a two dimensional array as an array of arrays or as one array. (This usually determines where the data are actually stored.) As has been said, it can be important to know how your language, or more properly how your compiler, does storage to make certain processes faster. But in most cases if you are trying to understand a two dimensional matrix as a linear thing you are missing the point. If you had data that was appropriately thought of as linear you should use a one dimensional array. The convention exists in order to make it easier conceptually to understand the relationship between the pieces of data. I have an old boss who would probably say something like "Yes, you can conceptualize this as column, row and comment it and the code will work. But you won't. At least here." You should use a matrix when you have data that is being referenced according to two different indices or categories. Consider an example. Imagine you are storing data for one of three different starting orientations for your robot and five different initial positions. This is a case where there is no obvious reason to make one the row and one the column. When you are designing the program, if you create a 3 row by 5 column table your coding standards should absolutely dictate how that will be coded. It should not be up the whim of one individual programmer. The row major convention was most likely chosen because a majority of the people who developed the programming languages we now use read and write in a left to right, top down (in other words row major) language like English. |
|
#33
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
|
|
#34
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
|
|
#35
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
http://zone.ni.com/reference/en-XX/h...sing_matrices/
Matrices a la LabView. http://www.mathworks.com/help/matlab...nd-arrays.html Matrices a la MatLab. Sometimes arguing about the visual representation of data is basically a course in UI and graphics arts. You can spend literally your entire life arguing which view is the best one. Like any communications - the 'right' one is that one that manages to deliver the right messsage as fast as possible to the audience to which it was intended. |
|
#36
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
I'll try to be clearer: My post had nothing to do with "arguing which view is the best one". It was simply pointing out that there are domains in which a knowledge of how your programming language stores matrix elements is important. |
|
#37
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
I intended to address the topic in general. However to go back to your point, if you consider the computers 'view' of the data you are absolutely correct. Just as it wouldn't make sense to fight little-endian / big-endian it doesn't make any sense to fight the way your language works. http://en.wikipedia.org/wiki/Endianness Quote:
|
|
#38
|
|||
|
|||
|
Re: Quotes from the Chief Engineer and I
Don't forget that OP is in a AP CS course. Java is a tool to teach basic concepts in CS, not just programming, not just a specific language.
It's basically beginning course, in which you are learning the basic building blocks, vocabulary, and conventions. This is how people in the trade communicate with each other. |
|
#39
|
|||
|
|||
|
Re: Quotes from the Chief Engineer and I
I mean it does not matter, but the JVM does attempt to store one-dimensional arrays contiguously, especially for primitives. Though there is, of course, no guarantee.
It is just much easier to imagine a matrix with 0,0 at the top left since this is how so many things in Java are represented. The only time I was able to use a non-standard matrix was in LibGDX where it represents it's display with 0,0 at the bottom (though you can flip it). Of course you are right though, I can represent a Matrix as a NxM length single-dimensional array if I wanted to. |
|
#40
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
Take this as training for dealing with a boss that annoys you, or motivation to start your own company so that you can be that annoying boss. ![]() |
|
#41
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
At this point I would rather not have the class and do what they had done the past few years and done the class as an independent study. Half the class has no idea what a primitive is because he taught that all variables are objects, even ints and chars and the such. I think no class would be better than a class that is almost guaranteeing that you learn the wrong thing. I get your point about being grateful to have a class, but sometimes no class is better than a horrible one.
|
|
#42
|
|||
|
|||
|
Re: Quotes from the Chief Engineer and I
Quote:
While "int" and "char" ARE primitives in Java, there are also "Integer" and "Character" objects in Java, that have one field, either a int or char, respectively. While that probably isn't the case, just thought I would check. I'd also like to point out something else: AP Computer Science is a GREAT course. It was my favorite course when I was in high school. However, I also had a GREAT teacher (Shoutout to my former teacher, Mr. Mike Reilly). The teacher can really make or break the class. If you feel so strongly that your current teacher is wrong on multiple accounts, I suggest you do the following: 1) Document these instances. Write down what he said/assigned on the quiz, and what your answer was, and what the teacher said the correct answer was. 2) For every instance of incorrect teaching, RESEARCH and be able to prove that these instances are incorrect. This means doing lots of research, such as reading the Java documentations, and maybe create example programs to show the difference between what the correct answer is vs what your teacher says the correct answer is. 3): After doing this research, write everything into a Word document, with both the inaccurate information and the correct information, including your source. Respectfully talk to your teacher, and ask him about all these points. If that doesn't change anything, you might consider talking to your school's administration. I would first write another paper, but a bit more formally, with a list of things that were taught or graded inaccurately, perhaps like this: Code:
Discrepancy One: Mr. TeacherName gave a quiz with the following question: "The moon is a square, True or False". Mr. TeacherName graded the quizzes, with the correct answer being "True". However, the answer is actually "False", which can be verified here: "http://nssdc.gsfc.nasa.gov/planetary/factsheet/moonfact.html". Include an introduction, with a brief history of what is going on with the class. After you have written the paper, see if one of your English teachers will help you proofread it, and ask for their opinion on the formatting. Once the paper is finalized, ask to talk to your principal about the matter. Bring a copy of the paper with you. When talking to your principal, it is EXTREMELY important that you remain respectful, but also bring up the fact that your teacher is not adequately preparing the student for the AP exams, and is potentially teaching incorrect information. (Also remember this: APCS is not a subject many will be familiar with, so try to not get TOO technical when explaining any incorrect information.) Remember, your goal is to create a better class for future students, which in turn will raise the average AP scores for the class, which in turn makes the school look better. It should also be noted that talking to any administration should be your last resort, it is almost akin to the "nuclear option". And also, do remember that during this whole process, it is important to not be combative, but rather try and be seen as a student who deeply cares about the subject and is trying to learn more. Hopefully just talking to your teacher, with the correct information documented, will be enough. Most teachers genuinely care and want to help you succeed. While it may be too late for this year's class, maybe next year will be better for your fellow students. Edit: This is coming from what I would do, and is similar to what I did when I had a very bad experience with a teacher my senior year. Before doing anything, I would first: Talk to your parents about this, and second: Talk to a trusted teacher you have about what the best protocol would be in this situation, (But please make 100% sure you are correct and can prove it, before talking to another teacher about this.) Last edited by nighterfighter : 26-02-2015 at 22:37. |
|
#43
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
|
|
#44
|
|||
|
|||
|
Re: Quotes from the Chief Engineer and I
Quote:
I'm surprised that students were simply "placed" into a AP course, much less a CS course. When I was in high school it was an elective, with a decent amount of prerequisites. As for what text book to use? No idea. I don't remember what book we used when I took the test, that was in 2010. Does your school not provide any textbook at all for the course? |
|
#45
|
||||
|
||||
|
Re: Quotes from the Chief Engineer and I
Quote:
The kids were placed in because we needed more kids for it to be a class, they get math credit, and the school gets money for each kid that takes AP Computer Science. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|