Can a lecturer force you to learn a specific programming syntax / language?











up vote
84
down vote

favorite
13












My class is currently further learning our relational database / SQL as part of the course.



The lecturer we have currently is restricting us to learning specifically Oracle SQL syntax rather than allowing us an option to using PostgreSQL, MySQL, SQLite, etc.



When we brought up our preference in the use of alternative systems due to working with those mentioned above in work placements or academic study from the year prior, we were talked down to for even discussing the matter.



Is this permissible within the UK to restrict students from using a preferred database syntax / software environment?





Edit to add: thank you for your insights and feedback. The post was made on behalf of myself and half a dozen class members who did not know the best route to address the matter, but now have a clearer understanding thanks to this community. For what it's worth, I can confidently say myself and my fellow students are confident with Oracle, MySQL and other SQL Basics from prior education, projects or employment and don't have an issue learning something new to keep progressing.










share|improve this question
























  • Comments are not for extended discussion; this conversation has been moved to chat.
    – ff524
    Oct 25 at 18:43















up vote
84
down vote

favorite
13












My class is currently further learning our relational database / SQL as part of the course.



The lecturer we have currently is restricting us to learning specifically Oracle SQL syntax rather than allowing us an option to using PostgreSQL, MySQL, SQLite, etc.



When we brought up our preference in the use of alternative systems due to working with those mentioned above in work placements or academic study from the year prior, we were talked down to for even discussing the matter.



Is this permissible within the UK to restrict students from using a preferred database syntax / software environment?





Edit to add: thank you for your insights and feedback. The post was made on behalf of myself and half a dozen class members who did not know the best route to address the matter, but now have a clearer understanding thanks to this community. For what it's worth, I can confidently say myself and my fellow students are confident with Oracle, MySQL and other SQL Basics from prior education, projects or employment and don't have an issue learning something new to keep progressing.










share|improve this question
























  • Comments are not for extended discussion; this conversation has been moved to chat.
    – ff524
    Oct 25 at 18:43













up vote
84
down vote

favorite
13









up vote
84
down vote

favorite
13






13





My class is currently further learning our relational database / SQL as part of the course.



The lecturer we have currently is restricting us to learning specifically Oracle SQL syntax rather than allowing us an option to using PostgreSQL, MySQL, SQLite, etc.



When we brought up our preference in the use of alternative systems due to working with those mentioned above in work placements or academic study from the year prior, we were talked down to for even discussing the matter.



Is this permissible within the UK to restrict students from using a preferred database syntax / software environment?





Edit to add: thank you for your insights and feedback. The post was made on behalf of myself and half a dozen class members who did not know the best route to address the matter, but now have a clearer understanding thanks to this community. For what it's worth, I can confidently say myself and my fellow students are confident with Oracle, MySQL and other SQL Basics from prior education, projects or employment and don't have an issue learning something new to keep progressing.










share|improve this question















My class is currently further learning our relational database / SQL as part of the course.



The lecturer we have currently is restricting us to learning specifically Oracle SQL syntax rather than allowing us an option to using PostgreSQL, MySQL, SQLite, etc.



When we brought up our preference in the use of alternative systems due to working with those mentioned above in work placements or academic study from the year prior, we were talked down to for even discussing the matter.



Is this permissible within the UK to restrict students from using a preferred database syntax / software environment?





Edit to add: thank you for your insights and feedback. The post was made on behalf of myself and half a dozen class members who did not know the best route to address the matter, but now have a clearer understanding thanks to this community. For what it's worth, I can confidently say myself and my fellow students are confident with Oracle, MySQL and other SQL Basics from prior education, projects or employment and don't have an issue learning something new to keep progressing.







software






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 26 at 18:51









eykanal

41.6k1599203




41.6k1599203










asked Oct 25 at 15:57









Student

463123




463123












  • Comments are not for extended discussion; this conversation has been moved to chat.
    – ff524
    Oct 25 at 18:43


















  • Comments are not for extended discussion; this conversation has been moved to chat.
    – ff524
    Oct 25 at 18:43
















Comments are not for extended discussion; this conversation has been moved to chat.
– ff524
Oct 25 at 18:43




Comments are not for extended discussion; this conversation has been moved to chat.
– ff524
Oct 25 at 18:43










14 Answers
14






active

oldest

votes

















up vote
305
down vote













No, they can't. But they can make you fail the class.



Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course.



Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, you have to play by their rules.



They might not know any other dialect and therefore be only able to teach (and grade) Oracle SQL. Or they might consider it the best dialect, e.g., because of wide industry use.



Finally, although I would be annoyed by this as well, sometimes you have to suck it up and just pass the course. Lecturers that teach the same (obsolete) material for 20 years are unfortunately a reality in academia. At least you might learn what to avoid in the future.






share|improve this answer























  • Comments are not for extended discussion; this conversation has been moved to chat.
    – eykanal
    Nov 5 at 15:23


















up vote
142
down vote













Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL.



You may be confusing "requiring you to learn X" with "restricting you from learning Y". In the long term, you will have to learn a lot of material during your career, and it will not always be feasible to get classes in exactly what you need to learn. Independent study can become essential.



Consider repeating some of the coursework using the database of your choice, for your own education.






share|improve this answer

















  • 41




    I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
    – fearofmusic
    Oct 26 at 1:25


















up vote
74
down vote













Rephrased a bit, your question says:




Can a lecturer base their course on a specific dialect of a tool?




I can and I do.





But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts.



I am teaching Functional Programming this semester. The lecture material is telling about Haskell. The exercises are in Haskell. If someone would submit them in ML, they'd surely fail. But the concepts of functional programming is what this lecture actually is about. And concepts do not change.



I fully expect the students to be able to program in ML, Swift or what not, as long as it's a functional programming language and they have adapted to the syntax. Surely, they'd miss some concepts. Surely, they'd have some concepts they did not encounter in the lecture. But the basic approach, the generic mindset, and most of the concepts will still be there. And this is what my course is actually about.



In fact, they might never write a single line of Haskell in their life after they have got their grade. And it's still make them better programmers and computer scientists.





I can basically replace words and get the same statement about relational databases. The fact that you learn Oracle should have little impact on your ability to use MySQL (or what not) later in your life. Quite a number of large companies use Oracle anyway. Perhaps your lecturer is more fluent in Oracle than in something else, or maybe your department got that big shiny Oracle licence that'd be a shame not to use, or something completely different. The reason is irrelevant, you have to learn Oracle.



What you actually learn is foundations of relational databases. These foundations apply to all the *SQL things and even some that are not. Everything else is a minor adaptation to syntax and local quirks, which is not a subject of university education.






share|improve this answer



















  • 5




    The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
    – vlaz
    Oct 26 at 11:15






  • 4




    As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
    – Daniel R. Collins
    Oct 27 at 1:25






  • 2




    The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
    – Oleg Lobachev
    Oct 27 at 11:58






  • 8




    @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
    – Oleg Lobachev
    Oct 27 at 12:00






  • 8




    "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
    – Giorgio
    Oct 28 at 18:41




















up vote
66
down vote














Can a lecturer force you to learn a specific programming syntax / language?




Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, but for other courses strictly mandating what students should use may be preferable.



Further, while I won't comment on the usage of Oracle specifically, there still may be good reasons to not use what you have been using before. Particularly, learning a different SQL dialect can be a very valuable lesson in itself. It makes you understand better what exactly is part of SQL (the standardized language) and what is part of the specific implementation that Postgres uses.



Finally, practicalities often dictate that teachers mandate certain technological ground rules. I have often had the case that I strictly required students in large classes (400+ students) to adhere to specific technologies and even submission templates, because it was not acceptable from a grading time perspective that TAs would need to spend time getting a solution to run before they could start grading it. Clearly this is an extreme case, but you still need to understand that letting each student pick their own technology escalates quickly in terms of grading effort.



That all is to say, you can certainly address (for instance in the teaching evaluations) if/that you feel that the pedagogical goals of the course could be better reached when using a SQL dialect that you already know, but a formal complaint has no legs to stand on.






share|improve this answer























  • While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
    – problemofficer
    Oct 25 at 17:44








  • 5




    @problemofficer This may or may not be true. I don't know your teacher.
    – xLeitix
    Oct 25 at 17:46


















up vote
37
down vote













Take a step back: How many students are in the class? I'll guess 100. Each student will have their own preferences -- different SQL dialects, different learning speeds and styles, different topics, different assessments, etc. The lecturer cannot accommodate all of these preferences, so there is a need to compromise.



It may be only 10% more work for the lecturer to accommodate your preferred SQL dialect. You may think that's reasonable. But if each student has something similar to accommodate, then suddenly the lecturer has 1000% more work. That's clearly not practical.



From the lecturer's point of view, it is essential to keep the course workload under control. If he or she begins accommodating requests, it can get out of hand very quickly. Being strict is a skill that lecturers have to learn. If you want someone who tailors everything to your preferences, hire a private tutor.






share|improve this answer

















  • 2




    Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
    – O. R. Mapper
    Oct 29 at 5:28










  • I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
    – J. Chris Compton
    Nov 2 at 20:02










  • @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
    – avgvstvs
    Nov 5 at 14:43


















up vote
22
down vote













When I took a course in numerical methods eons ago, the first few assignments were to be done in Fortran 77. After doing some in Fortran, the professor then moved on to assignments in APL, SPITBOL, and C, each meant to demonstrate how different languages allowed problems to be attacked in different ways. No class time was spent in teaching these languages, we were expected to read the manuals and figure it out for ourselves in the week or so available. And, I learned a lot about a bunch of different languages and constructs that I still use today.



But, you can bet dollars to donuts that an assignment to do in APL was only accepted in APL. If it was supposed to be SPITBOL, you might get away with SNOBOL (although you really needed recursion) but Fortran wasn't going to fly.



Yes, for many reasons, a professor can define the parameters of assignments, including specifics such as the allowable programming language.






share|improve this answer

















  • 4




    SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
    – Jon Custer
    Oct 25 at 22:13






  • 2




    I briefly used SNOBOL in the early '80s!
    – mkennedy
    Oct 25 at 22:19






  • 1




    I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
    – Michael Kay
    Oct 26 at 8:01






  • 3




    Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
    – Michael Kay
    Oct 26 at 22:32






  • 6




    Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
    – Don Branson
    Oct 29 at 19:39


















up vote
14
down vote













I have used many languages throughout my studies and career and you can be sure of a few things




  1. In School, the teacher is always right, so either get on board or get off

  2. There is never going to be a single perfect language to use that will be used by everyone everywhere (SQL vs mongoDB, C++ vs JAVA, the list goes on and on)

  3. Learning different programming languages is a necessary skill for a programmer


It's great a professor is forcing students to use a less popular language or a language that is not preferred. It helps prepare you for the real world where you will come across a job/situation where you have to use a programming language you've never used before. The hurdles of learning a new language in school will help with the hurdles of learning a new language in your future job.






share|improve this answer



















  • 8




    After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
    – AlexanderJ93
    Oct 26 at 19:05






  • 4




    SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
    – Nelson
    Oct 29 at 8:51




















up vote
9
down vote













Yes, I am in control of my classes and will decide what in your work is worth points and what is not. I'll tell you that up front, with plenty of time for you to drop.



Not only will I demand you use the syntax and language I am teaching (for my own grading ease and consistency of results, like performance timing), but I will demand you follow my code formatting rules for indentation, tab stops, limits on line length, variable names and how to case them, and commenting within your code to help me see what you have done and why you are doing it.



Because the butt-sore truth is, when you get into the real world, you will find that writing working code is not enough, your code needs to be maintainable and readable by others. And chances are, you are going have to read and debug TONS of other people's code, and you will appreciate this then.



Before I was a professor I was a division manager in charge of code for a public company. Newbies are often given testing and debugging tasks to get them familiar with the code and systems and to evaluate their expertise and productivity.



So first, IRL programmers move on to other companies, departments, or roles within the company. So not only do we have to deal with code by programmers no longer with us, the senior programmers are often working on deadline for critical NEW projects, and they don't have the time to debug their own code from years ago, or even answer questions about it.



That makes maintainability of code very important, because hardware and software libraries and operating systems and compiler / interpreter release change much faster than our code base, and break our systems. The code must be legible, easy to understand, and easy to follow. I don't want any "black box" code that just "works right" because when it stops working, I don't want to rewrite it to fix it.



So I enforce that in my classes too. Yes your code has to work, but that isn't the whole grade. You must use the tools I gave you, or you don't pass: Because real companies have standards, even down to the editor you use, and my assignments are an exercise in you using the tools given, not just getting the right answer.



You must also write code that obeys my code formatting and commenting guidelines, those are worth a letter grade. Because IRL if you gave me (your manager) that as a coder, I'd have to send it back to you for proper formatting, and there goes 1 or 2 days of your pay and productivity because you can't follow simple list of written directions.



The equivalent in the classroom is your grade, so -10 for mistakenly thinking that getting the right answer is all that matters to the company. How you got the answer is important, and Maintainability of your code after you are gone or no longer maintaining it is also very important.






share|improve this answer



















  • 2




    @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
    – Amadeus
    Oct 30 at 11:52










  • What will you do for the final semester worthless class? It's too late to drop.
    – Joshua
    Nov 2 at 19:13








  • 2




    @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
    – Amadeus
    Nov 2 at 19:21


















up vote
8
down vote













Teaching involves more than just doing the lecture, you have to prepare the materials, be familiar with the content, prepare exercises, exams, etc.



How do you suppose the professor would do that without restricting the dialect? Or how can the professor be fair to the students without restricting it?



Example: "We favour Oracle, but we accept any other dialect". So the student that chooses to do it in pgsql would be at a disadvantage because the material was not prepared for it, the syntax is different, examples won't work, etc...



But then we add pgsql because it is well known. But it would make no sense to add pgsql and not use mysql too. When does it stop?






share|improve this answer

















  • 5




    To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
    – xLeitix
    Oct 25 at 17:37






  • 5




    Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
    – Fábio Dias
    Oct 25 at 17:43






  • 2




    @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
    – AlexanderJ93
    Oct 26 at 18:59


















up vote
5
down vote













Hmm, I don't wish to be rude, but this seems like a rather bizarre question. It's like saying, "The professor is insisting we work from textbook X. But I'd prefer to use textbook Y." It may be that you could make a good case that Y is a better textbook. But if the class is going to be coherent, all the students should be working from the same textbook.



If everyone used a different dialect of SQL, then the professor would have to include discussions of all the different dialects in every class. Not only would the prof have to know all the dialects and all the differences, but he would have to take class time to discuss these differences constantly, rather than concentrating on the basic points. For students who are already thoroughly familiar with SQL, discussing differences between different dialects might be interesting and useful. But if the point of the class is to teach SQL, such digressions would not only be a burden on the professor but on the students. Students would have to be sorting through, what dialect is he talking about now? Does that apply to me or is that one I'm not using? The level of complexity would be greatly multiplied.



And how would he grade assignments? Is he supposed to have all these different dialects installed on his computer? And keep track of which student is using which dialect and be sure to test with the right one?



What if someone said, "I don't want to use SQL at all. I want to use Mongo"?



What if someone said, "I don't want to learn about databases. I want to learn about writing flat files"?



What if someone said, "I don't want to learn about databases. I want to learn about the French Revolution"?



Where would this end?






share|improve this answer





















  • Unwise to drag textbooks into this.
    – Joshua
    Nov 2 at 19:51










  • @Joshua Not sure what your point is. The bit about textbooks was an example.
    – Jay
    Nov 2 at 19:55










  • It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
    – Joshua
    Nov 2 at 19:57


















up vote
3
down vote













Most universities in the UK communicate information about their courses and modules by so-called course and module descriptors. They are often a part of your course handbook or provided in the module information pack.



Read the module descriptor and take a look on Learning Objectives for the module. They describe the skills and knowledge which you will obtain after a successful completion of this module. Your lecturer is here to help you acquire those skills.




  • If the LOs say you will learn a language/syntax, then this is what you need to learn. Presumably a choice of language is well justified since it made it into a formal document (which is a part of your learning contract).

  • If LOs say you will learn how to manage a database, then you have to manage a database using any suitable language. If the lecturer wants to impose a restriction, she/he should justify it using objective reasons, e.g. this program is outdated, this is not suitable for the task, this is proprietary and University does not have a license for it, etc. Forcing individual preferences on students without academic need for it is not cool and only shows that the lecturer has limited skill set and can't be bothered to learn more. This is not a good example to follow.






share|improve this answer

















  • 3




    I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
    – Michael Kay
    Oct 26 at 22:35






  • 2




    Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
    – Daniel R. Collins
    Oct 29 at 1:09








  • 1




    @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
    – Dmitry Savostyanov
    Oct 29 at 7:45






  • 1




    It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
    – Daniel R. Collins
    Oct 29 at 15:07






  • 1




    @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
    – Dmitry Savostyanov
    Oct 30 at 8:07


















up vote
3
down vote













In general yes, but perhaps not with artifically "pushing" a specific commercial tool



I agree with the multiple answers as a matter of principle - teachers can and do choose how to teach their classes, and have much leeway regarding choice of tools for the students to use, as well as form and syntax for homework submission.



That being said, if the teacher of a course forces the use of a tool and/or dialect which:




  • Is only provided by a single commercial entity

  • (perhaps) Requires the students to expend financial resources on gaining access to this tool

  • (perhaps) Requires the university expend financial resources on gaining access to this tool

  • Has more commonly-used, freely-available and well-regarded alternatives

  • and the teacher refuses not provide a (minimally credible) rationale for exclusively using the tool


... then this may be ethically problematic. It is effectively a form of coercive commercial advertising on the teacher's part - if not artificial revenue-generation for the provider of such a tool - and may be contrary to the academic institute's regulations, or possibly to state laws.



Now, I'll grant that this is tricky business, since we're talking about regulating academic freedom with somewhat extrinsic considerations, so it would have to be rather egregious. I doubt that saying "Use the Oracle SQL variant" meets the above criteria, since for the purposes of your course it's probably effectively the same thing as ISO SQL; or can be trivially adapted from other SQL variants; and apparently there's an "Express version" which you can use for free. But in the kinds of cases I described above it is not as cut-and-dry as other responders to your question suggest.






share|improve this answer



















  • 7




    Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
    – AnoE
    Oct 27 at 18:20










  • @AnoE: See edit.
    – einpoklum
    Oct 27 at 20:08










  • I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
    – Joshua
    Oct 28 at 1:18






  • 3




    @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
    – einpoklum
    Oct 29 at 13:14








  • 1




    @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
    – einpoklum
    Oct 29 at 14:42


















up vote
1
down vote













For what its worth, with Oracle and PL/SQL you will get not only the core relational database and SQL experience, but also some hands-on experience with some aspects of a commercial database and its extensions to the standard. This will enable you to pick up just about any of the other standards-based RDBMS systems on your own and it will instantly feel familiar. You may not have another good opportunity to learn a commercial database prior to getting into the job market, and having Oracle PL/SQL on there will look great and possibly open some employment opportunities that would not normally be available to new graduates.



I'll add my own experiences to the pile for contrast. The lectures for my Introduction to Object Oriented Programming class in the mid-90's was taught in Fortran 77 (a non-OO language) because the (tenured) professor didn't know C++ and this was his last semester before retirement. He lectured using his notes (written on punch cards) from an earlier Data Structures class (based on an unrelated textbook), while the programming labs were taught in C++ by graduate students who actually knew what they were doing (thank you, Hamid). The exams were blue-book (written essay) and required answers to Object-Oriented programming questions drawn from the C++ lab assignments...written in Pascal - a language that none of the students in the class had been taught but were presumed to already know. Every student received a 2.5 and the professor retired. I learned OO programming from a graduate student during a two hour-per-week lab assignment, while his attention was split among 15 other students.



Another example from the following semester (more relevant to your situation). My Database class was taught without databases at all. There was no database, no SQL. The programming labs were entirely in C and involved assignments like implementing core data structures to support relational tables in memory, creating different indexes based on binary trees, etc., and writing queries using table scans and then the indexes, then evaluating their performance using big-O notation and refining the indexing methods. Even though I did well in the class, it provided no practical experience with any DBMS or query language. It was a Computer Science course in the purest form. In retrospect, the concepts stuck with me and it did help me to understand how to debug queries for performance.



In summary, at the university level you need to choose your battles wisely, and I hope this convinces you that your current course is not so bad. It is up to you to find ways to get the most long-term value out of your courses.






share|improve this answer








New contributor




vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    up vote
    0
    down vote













    I agree with all the other answers: of course the lecturer can do this, and is likely to be using Oracle to grade your work.



    I write to add: I think you should avoid Oracle extensions to or deviations from SQL, unless they greatly simplify the answer into something elegant. The specific difference I have in mind is Use standard SQL JOIN syntax, not Oracle's old WHERE based syntax. The former can express relations that the latter can not, the latter is not accepted by other RDBMSes, and I can't believe your lecturer would be using a version of Oracle so old it didn't also take the SQL standard syntax.






    share|improve this answer




















      protected by Community Oct 26 at 11:46



      Thank you for your interest in this question.
      Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



      Would you like to answer one of these unanswered questions instead?














      14 Answers
      14






      active

      oldest

      votes








      14 Answers
      14






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      305
      down vote













      No, they can't. But they can make you fail the class.



      Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course.



      Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, you have to play by their rules.



      They might not know any other dialect and therefore be only able to teach (and grade) Oracle SQL. Or they might consider it the best dialect, e.g., because of wide industry use.



      Finally, although I would be annoyed by this as well, sometimes you have to suck it up and just pass the course. Lecturers that teach the same (obsolete) material for 20 years are unfortunately a reality in academia. At least you might learn what to avoid in the future.






      share|improve this answer























      • Comments are not for extended discussion; this conversation has been moved to chat.
        – eykanal
        Nov 5 at 15:23















      up vote
      305
      down vote













      No, they can't. But they can make you fail the class.



      Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course.



      Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, you have to play by their rules.



      They might not know any other dialect and therefore be only able to teach (and grade) Oracle SQL. Or they might consider it the best dialect, e.g., because of wide industry use.



      Finally, although I would be annoyed by this as well, sometimes you have to suck it up and just pass the course. Lecturers that teach the same (obsolete) material for 20 years are unfortunately a reality in academia. At least you might learn what to avoid in the future.






      share|improve this answer























      • Comments are not for extended discussion; this conversation has been moved to chat.
        – eykanal
        Nov 5 at 15:23













      up vote
      305
      down vote










      up vote
      305
      down vote









      No, they can't. But they can make you fail the class.



      Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course.



      Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, you have to play by their rules.



      They might not know any other dialect and therefore be only able to teach (and grade) Oracle SQL. Or they might consider it the best dialect, e.g., because of wide industry use.



      Finally, although I would be annoyed by this as well, sometimes you have to suck it up and just pass the course. Lecturers that teach the same (obsolete) material for 20 years are unfortunately a reality in academia. At least you might learn what to avoid in the future.






      share|improve this answer














      No, they can't. But they can make you fail the class.



      Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course.



      Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, you have to play by their rules.



      They might not know any other dialect and therefore be only able to teach (and grade) Oracle SQL. Or they might consider it the best dialect, e.g., because of wide industry use.



      Finally, although I would be annoyed by this as well, sometimes you have to suck it up and just pass the course. Lecturers that teach the same (obsolete) material for 20 years are unfortunately a reality in academia. At least you might learn what to avoid in the future.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Oct 29 at 10:20









      Community

      1




      1










      answered Oct 25 at 16:14









      problemofficer

      4,63451232




      4,63451232












      • Comments are not for extended discussion; this conversation has been moved to chat.
        – eykanal
        Nov 5 at 15:23


















      • Comments are not for extended discussion; this conversation has been moved to chat.
        – eykanal
        Nov 5 at 15:23
















      Comments are not for extended discussion; this conversation has been moved to chat.
      – eykanal
      Nov 5 at 15:23




      Comments are not for extended discussion; this conversation has been moved to chat.
      – eykanal
      Nov 5 at 15:23










      up vote
      142
      down vote













      Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL.



      You may be confusing "requiring you to learn X" with "restricting you from learning Y". In the long term, you will have to learn a lot of material during your career, and it will not always be feasible to get classes in exactly what you need to learn. Independent study can become essential.



      Consider repeating some of the coursework using the database of your choice, for your own education.






      share|improve this answer

















      • 41




        I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
        – fearofmusic
        Oct 26 at 1:25















      up vote
      142
      down vote













      Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL.



      You may be confusing "requiring you to learn X" with "restricting you from learning Y". In the long term, you will have to learn a lot of material during your career, and it will not always be feasible to get classes in exactly what you need to learn. Independent study can become essential.



      Consider repeating some of the coursework using the database of your choice, for your own education.






      share|improve this answer

















      • 41




        I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
        – fearofmusic
        Oct 26 at 1:25













      up vote
      142
      down vote










      up vote
      142
      down vote









      Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL.



      You may be confusing "requiring you to learn X" with "restricting you from learning Y". In the long term, you will have to learn a lot of material during your career, and it will not always be feasible to get classes in exactly what you need to learn. Independent study can become essential.



      Consider repeating some of the coursework using the database of your choice, for your own education.






      share|improve this answer












      Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL.



      You may be confusing "requiring you to learn X" with "restricting you from learning Y". In the long term, you will have to learn a lot of material during your career, and it will not always be feasible to get classes in exactly what you need to learn. Independent study can become essential.



      Consider repeating some of the coursework using the database of your choice, for your own education.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 25 at 16:28









      Patricia Shanahan

      25.9k124273




      25.9k124273








      • 41




        I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
        – fearofmusic
        Oct 26 at 1:25














      • 41




        I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
        – fearofmusic
        Oct 26 at 1:25








      41




      41




      I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
      – fearofmusic
      Oct 26 at 1:25




      I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB.
      – fearofmusic
      Oct 26 at 1:25










      up vote
      74
      down vote













      Rephrased a bit, your question says:




      Can a lecturer base their course on a specific dialect of a tool?




      I can and I do.





      But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts.



      I am teaching Functional Programming this semester. The lecture material is telling about Haskell. The exercises are in Haskell. If someone would submit them in ML, they'd surely fail. But the concepts of functional programming is what this lecture actually is about. And concepts do not change.



      I fully expect the students to be able to program in ML, Swift or what not, as long as it's a functional programming language and they have adapted to the syntax. Surely, they'd miss some concepts. Surely, they'd have some concepts they did not encounter in the lecture. But the basic approach, the generic mindset, and most of the concepts will still be there. And this is what my course is actually about.



      In fact, they might never write a single line of Haskell in their life after they have got their grade. And it's still make them better programmers and computer scientists.





      I can basically replace words and get the same statement about relational databases. The fact that you learn Oracle should have little impact on your ability to use MySQL (or what not) later in your life. Quite a number of large companies use Oracle anyway. Perhaps your lecturer is more fluent in Oracle than in something else, or maybe your department got that big shiny Oracle licence that'd be a shame not to use, or something completely different. The reason is irrelevant, you have to learn Oracle.



      What you actually learn is foundations of relational databases. These foundations apply to all the *SQL things and even some that are not. Everything else is a minor adaptation to syntax and local quirks, which is not a subject of university education.






      share|improve this answer



















      • 5




        The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
        – vlaz
        Oct 26 at 11:15






      • 4




        As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
        – Daniel R. Collins
        Oct 27 at 1:25






      • 2




        The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
        – Oleg Lobachev
        Oct 27 at 11:58






      • 8




        @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
        – Oleg Lobachev
        Oct 27 at 12:00






      • 8




        "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
        – Giorgio
        Oct 28 at 18:41

















      up vote
      74
      down vote













      Rephrased a bit, your question says:




      Can a lecturer base their course on a specific dialect of a tool?




      I can and I do.





      But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts.



      I am teaching Functional Programming this semester. The lecture material is telling about Haskell. The exercises are in Haskell. If someone would submit them in ML, they'd surely fail. But the concepts of functional programming is what this lecture actually is about. And concepts do not change.



      I fully expect the students to be able to program in ML, Swift or what not, as long as it's a functional programming language and they have adapted to the syntax. Surely, they'd miss some concepts. Surely, they'd have some concepts they did not encounter in the lecture. But the basic approach, the generic mindset, and most of the concepts will still be there. And this is what my course is actually about.



      In fact, they might never write a single line of Haskell in their life after they have got their grade. And it's still make them better programmers and computer scientists.





      I can basically replace words and get the same statement about relational databases. The fact that you learn Oracle should have little impact on your ability to use MySQL (or what not) later in your life. Quite a number of large companies use Oracle anyway. Perhaps your lecturer is more fluent in Oracle than in something else, or maybe your department got that big shiny Oracle licence that'd be a shame not to use, or something completely different. The reason is irrelevant, you have to learn Oracle.



      What you actually learn is foundations of relational databases. These foundations apply to all the *SQL things and even some that are not. Everything else is a minor adaptation to syntax and local quirks, which is not a subject of university education.






      share|improve this answer



















      • 5




        The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
        – vlaz
        Oct 26 at 11:15






      • 4




        As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
        – Daniel R. Collins
        Oct 27 at 1:25






      • 2




        The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
        – Oleg Lobachev
        Oct 27 at 11:58






      • 8




        @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
        – Oleg Lobachev
        Oct 27 at 12:00






      • 8




        "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
        – Giorgio
        Oct 28 at 18:41















      up vote
      74
      down vote










      up vote
      74
      down vote









      Rephrased a bit, your question says:




      Can a lecturer base their course on a specific dialect of a tool?




      I can and I do.





      But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts.



      I am teaching Functional Programming this semester. The lecture material is telling about Haskell. The exercises are in Haskell. If someone would submit them in ML, they'd surely fail. But the concepts of functional programming is what this lecture actually is about. And concepts do not change.



      I fully expect the students to be able to program in ML, Swift or what not, as long as it's a functional programming language and they have adapted to the syntax. Surely, they'd miss some concepts. Surely, they'd have some concepts they did not encounter in the lecture. But the basic approach, the generic mindset, and most of the concepts will still be there. And this is what my course is actually about.



      In fact, they might never write a single line of Haskell in their life after they have got their grade. And it's still make them better programmers and computer scientists.





      I can basically replace words and get the same statement about relational databases. The fact that you learn Oracle should have little impact on your ability to use MySQL (or what not) later in your life. Quite a number of large companies use Oracle anyway. Perhaps your lecturer is more fluent in Oracle than in something else, or maybe your department got that big shiny Oracle licence that'd be a shame not to use, or something completely different. The reason is irrelevant, you have to learn Oracle.



      What you actually learn is foundations of relational databases. These foundations apply to all the *SQL things and even some that are not. Everything else is a minor adaptation to syntax and local quirks, which is not a subject of university education.






      share|improve this answer














      Rephrased a bit, your question says:




      Can a lecturer base their course on a specific dialect of a tool?




      I can and I do.





      But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts.



      I am teaching Functional Programming this semester. The lecture material is telling about Haskell. The exercises are in Haskell. If someone would submit them in ML, they'd surely fail. But the concepts of functional programming is what this lecture actually is about. And concepts do not change.



      I fully expect the students to be able to program in ML, Swift or what not, as long as it's a functional programming language and they have adapted to the syntax. Surely, they'd miss some concepts. Surely, they'd have some concepts they did not encounter in the lecture. But the basic approach, the generic mindset, and most of the concepts will still be there. And this is what my course is actually about.



      In fact, they might never write a single line of Haskell in their life after they have got their grade. And it's still make them better programmers and computer scientists.





      I can basically replace words and get the same statement about relational databases. The fact that you learn Oracle should have little impact on your ability to use MySQL (or what not) later in your life. Quite a number of large companies use Oracle anyway. Perhaps your lecturer is more fluent in Oracle than in something else, or maybe your department got that big shiny Oracle licence that'd be a shame not to use, or something completely different. The reason is irrelevant, you have to learn Oracle.



      What you actually learn is foundations of relational databases. These foundations apply to all the *SQL things and even some that are not. Everything else is a minor adaptation to syntax and local quirks, which is not a subject of university education.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Nov 5 at 6:01









      scaaahu

      11.9k84094




      11.9k84094










      answered Oct 25 at 21:34









      Oleg Lobachev

      4,3411120




      4,3411120








      • 5




        The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
        – vlaz
        Oct 26 at 11:15






      • 4




        As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
        – Daniel R. Collins
        Oct 27 at 1:25






      • 2




        The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
        – Oleg Lobachev
        Oct 27 at 11:58






      • 8




        @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
        – Oleg Lobachev
        Oct 27 at 12:00






      • 8




        "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
        – Giorgio
        Oct 28 at 18:41
















      • 5




        The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
        – vlaz
        Oct 26 at 11:15






      • 4




        As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
        – Daniel R. Collins
        Oct 27 at 1:25






      • 2




        The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
        – Oleg Lobachev
        Oct 27 at 11:58






      • 8




        @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
        – Oleg Lobachev
        Oct 27 at 12:00






      • 8




        "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
        – Giorgio
        Oct 28 at 18:41










      5




      5




      The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
      – vlaz
      Oct 26 at 11:15




      The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z.
      – vlaz
      Oct 26 at 11:15




      4




      4




      As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
      – Daniel R. Collins
      Oct 27 at 1:25




      As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc.
      – Daniel R. Collins
      Oct 27 at 1:25




      2




      2




      The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
      – Oleg Lobachev
      Oct 27 at 11:58




      The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated.
      – Oleg Lobachev
      Oct 27 at 11:58




      8




      8




      @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
      – Oleg Lobachev
      Oct 27 at 12:00




      @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah.
      – Oleg Lobachev
      Oct 27 at 12:00




      8




      8




      "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
      – Giorgio
      Oct 28 at 18:41






      "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career.
      – Giorgio
      Oct 28 at 18:41












      up vote
      66
      down vote














      Can a lecturer force you to learn a specific programming syntax / language?




      Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, but for other courses strictly mandating what students should use may be preferable.



      Further, while I won't comment on the usage of Oracle specifically, there still may be good reasons to not use what you have been using before. Particularly, learning a different SQL dialect can be a very valuable lesson in itself. It makes you understand better what exactly is part of SQL (the standardized language) and what is part of the specific implementation that Postgres uses.



      Finally, practicalities often dictate that teachers mandate certain technological ground rules. I have often had the case that I strictly required students in large classes (400+ students) to adhere to specific technologies and even submission templates, because it was not acceptable from a grading time perspective that TAs would need to spend time getting a solution to run before they could start grading it. Clearly this is an extreme case, but you still need to understand that letting each student pick their own technology escalates quickly in terms of grading effort.



      That all is to say, you can certainly address (for instance in the teaching evaluations) if/that you feel that the pedagogical goals of the course could be better reached when using a SQL dialect that you already know, but a formal complaint has no legs to stand on.






      share|improve this answer























      • While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
        – problemofficer
        Oct 25 at 17:44








      • 5




        @problemofficer This may or may not be true. I don't know your teacher.
        – xLeitix
        Oct 25 at 17:46















      up vote
      66
      down vote














      Can a lecturer force you to learn a specific programming syntax / language?




      Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, but for other courses strictly mandating what students should use may be preferable.



      Further, while I won't comment on the usage of Oracle specifically, there still may be good reasons to not use what you have been using before. Particularly, learning a different SQL dialect can be a very valuable lesson in itself. It makes you understand better what exactly is part of SQL (the standardized language) and what is part of the specific implementation that Postgres uses.



      Finally, practicalities often dictate that teachers mandate certain technological ground rules. I have often had the case that I strictly required students in large classes (400+ students) to adhere to specific technologies and even submission templates, because it was not acceptable from a grading time perspective that TAs would need to spend time getting a solution to run before they could start grading it. Clearly this is an extreme case, but you still need to understand that letting each student pick their own technology escalates quickly in terms of grading effort.



      That all is to say, you can certainly address (for instance in the teaching evaluations) if/that you feel that the pedagogical goals of the course could be better reached when using a SQL dialect that you already know, but a formal complaint has no legs to stand on.






      share|improve this answer























      • While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
        – problemofficer
        Oct 25 at 17:44








      • 5




        @problemofficer This may or may not be true. I don't know your teacher.
        – xLeitix
        Oct 25 at 17:46













      up vote
      66
      down vote










      up vote
      66
      down vote










      Can a lecturer force you to learn a specific programming syntax / language?




      Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, but for other courses strictly mandating what students should use may be preferable.



      Further, while I won't comment on the usage of Oracle specifically, there still may be good reasons to not use what you have been using before. Particularly, learning a different SQL dialect can be a very valuable lesson in itself. It makes you understand better what exactly is part of SQL (the standardized language) and what is part of the specific implementation that Postgres uses.



      Finally, practicalities often dictate that teachers mandate certain technological ground rules. I have often had the case that I strictly required students in large classes (400+ students) to adhere to specific technologies and even submission templates, because it was not acceptable from a grading time perspective that TAs would need to spend time getting a solution to run before they could start grading it. Clearly this is an extreme case, but you still need to understand that letting each student pick their own technology escalates quickly in terms of grading effort.



      That all is to say, you can certainly address (for instance in the teaching evaluations) if/that you feel that the pedagogical goals of the course could be better reached when using a SQL dialect that you already know, but a formal complaint has no legs to stand on.






      share|improve this answer















      Can a lecturer force you to learn a specific programming syntax / language?




      Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, but for other courses strictly mandating what students should use may be preferable.



      Further, while I won't comment on the usage of Oracle specifically, there still may be good reasons to not use what you have been using before. Particularly, learning a different SQL dialect can be a very valuable lesson in itself. It makes you understand better what exactly is part of SQL (the standardized language) and what is part of the specific implementation that Postgres uses.



      Finally, practicalities often dictate that teachers mandate certain technological ground rules. I have often had the case that I strictly required students in large classes (400+ students) to adhere to specific technologies and even submission templates, because it was not acceptable from a grading time perspective that TAs would need to spend time getting a solution to run before they could start grading it. Clearly this is an extreme case, but you still need to understand that letting each student pick their own technology escalates quickly in terms of grading effort.



      That all is to say, you can certainly address (for instance in the teaching evaluations) if/that you feel that the pedagogical goals of the course could be better reached when using a SQL dialect that you already know, but a formal complaint has no legs to stand on.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Oct 29 at 5:04









      Nelson

      27527




      27527










      answered Oct 25 at 17:36









      xLeitix

      96.7k34231377




      96.7k34231377












      • While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
        – problemofficer
        Oct 25 at 17:44








      • 5




        @problemofficer This may or may not be true. I don't know your teacher.
        – xLeitix
        Oct 25 at 17:46


















      • While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
        – problemofficer
        Oct 25 at 17:44








      • 5




        @problemofficer This may or may not be true. I don't know your teacher.
        – xLeitix
        Oct 25 at 17:46
















      While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
      – problemofficer
      Oct 25 at 17:44






      While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to.
      – problemofficer
      Oct 25 at 17:44






      5




      5




      @problemofficer This may or may not be true. I don't know your teacher.
      – xLeitix
      Oct 25 at 17:46




      @problemofficer This may or may not be true. I don't know your teacher.
      – xLeitix
      Oct 25 at 17:46










      up vote
      37
      down vote













      Take a step back: How many students are in the class? I'll guess 100. Each student will have their own preferences -- different SQL dialects, different learning speeds and styles, different topics, different assessments, etc. The lecturer cannot accommodate all of these preferences, so there is a need to compromise.



      It may be only 10% more work for the lecturer to accommodate your preferred SQL dialect. You may think that's reasonable. But if each student has something similar to accommodate, then suddenly the lecturer has 1000% more work. That's clearly not practical.



      From the lecturer's point of view, it is essential to keep the course workload under control. If he or she begins accommodating requests, it can get out of hand very quickly. Being strict is a skill that lecturers have to learn. If you want someone who tailors everything to your preferences, hire a private tutor.






      share|improve this answer

















      • 2




        Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
        – O. R. Mapper
        Oct 29 at 5:28










      • I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
        – J. Chris Compton
        Nov 2 at 20:02










      • @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
        – avgvstvs
        Nov 5 at 14:43















      up vote
      37
      down vote













      Take a step back: How many students are in the class? I'll guess 100. Each student will have their own preferences -- different SQL dialects, different learning speeds and styles, different topics, different assessments, etc. The lecturer cannot accommodate all of these preferences, so there is a need to compromise.



      It may be only 10% more work for the lecturer to accommodate your preferred SQL dialect. You may think that's reasonable. But if each student has something similar to accommodate, then suddenly the lecturer has 1000% more work. That's clearly not practical.



      From the lecturer's point of view, it is essential to keep the course workload under control. If he or she begins accommodating requests, it can get out of hand very quickly. Being strict is a skill that lecturers have to learn. If you want someone who tailors everything to your preferences, hire a private tutor.






      share|improve this answer

















      • 2




        Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
        – O. R. Mapper
        Oct 29 at 5:28










      • I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
        – J. Chris Compton
        Nov 2 at 20:02










      • @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
        – avgvstvs
        Nov 5 at 14:43













      up vote
      37
      down vote










      up vote
      37
      down vote









      Take a step back: How many students are in the class? I'll guess 100. Each student will have their own preferences -- different SQL dialects, different learning speeds and styles, different topics, different assessments, etc. The lecturer cannot accommodate all of these preferences, so there is a need to compromise.



      It may be only 10% more work for the lecturer to accommodate your preferred SQL dialect. You may think that's reasonable. But if each student has something similar to accommodate, then suddenly the lecturer has 1000% more work. That's clearly not practical.



      From the lecturer's point of view, it is essential to keep the course workload under control. If he or she begins accommodating requests, it can get out of hand very quickly. Being strict is a skill that lecturers have to learn. If you want someone who tailors everything to your preferences, hire a private tutor.






      share|improve this answer












      Take a step back: How many students are in the class? I'll guess 100. Each student will have their own preferences -- different SQL dialects, different learning speeds and styles, different topics, different assessments, etc. The lecturer cannot accommodate all of these preferences, so there is a need to compromise.



      It may be only 10% more work for the lecturer to accommodate your preferred SQL dialect. You may think that's reasonable. But if each student has something similar to accommodate, then suddenly the lecturer has 1000% more work. That's clearly not practical.



      From the lecturer's point of view, it is essential to keep the course workload under control. If he or she begins accommodating requests, it can get out of hand very quickly. Being strict is a skill that lecturers have to learn. If you want someone who tailors everything to your preferences, hire a private tutor.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 25 at 17:48









      Thomas

      8,12131834




      8,12131834








      • 2




        Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
        – O. R. Mapper
        Oct 29 at 5:28










      • I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
        – J. Chris Compton
        Nov 2 at 20:02










      • @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
        – avgvstvs
        Nov 5 at 14:43














      • 2




        Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
        – O. R. Mapper
        Oct 29 at 5:28










      • I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
        – J. Chris Compton
        Nov 2 at 20:02










      • @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
        – avgvstvs
        Nov 5 at 14:43








      2




      2




      Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
      – O. R. Mapper
      Oct 29 at 5:28




      Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.)
      – O. R. Mapper
      Oct 29 at 5:28












      I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
      – J. Chris Compton
      Nov 2 at 20:02




      I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff).
      – J. Chris Compton
      Nov 2 at 20:02












      @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
      – avgvstvs
      Nov 5 at 14:43




      @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D
      – avgvstvs
      Nov 5 at 14:43










      up vote
      22
      down vote













      When I took a course in numerical methods eons ago, the first few assignments were to be done in Fortran 77. After doing some in Fortran, the professor then moved on to assignments in APL, SPITBOL, and C, each meant to demonstrate how different languages allowed problems to be attacked in different ways. No class time was spent in teaching these languages, we were expected to read the manuals and figure it out for ourselves in the week or so available. And, I learned a lot about a bunch of different languages and constructs that I still use today.



      But, you can bet dollars to donuts that an assignment to do in APL was only accepted in APL. If it was supposed to be SPITBOL, you might get away with SNOBOL (although you really needed recursion) but Fortran wasn't going to fly.



      Yes, for many reasons, a professor can define the parameters of assignments, including specifics such as the allowable programming language.






      share|improve this answer

















      • 4




        SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
        – Jon Custer
        Oct 25 at 22:13






      • 2




        I briefly used SNOBOL in the early '80s!
        – mkennedy
        Oct 25 at 22:19






      • 1




        I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
        – Michael Kay
        Oct 26 at 8:01






      • 3




        Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
        – Michael Kay
        Oct 26 at 22:32






      • 6




        Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
        – Don Branson
        Oct 29 at 19:39















      up vote
      22
      down vote













      When I took a course in numerical methods eons ago, the first few assignments were to be done in Fortran 77. After doing some in Fortran, the professor then moved on to assignments in APL, SPITBOL, and C, each meant to demonstrate how different languages allowed problems to be attacked in different ways. No class time was spent in teaching these languages, we were expected to read the manuals and figure it out for ourselves in the week or so available. And, I learned a lot about a bunch of different languages and constructs that I still use today.



      But, you can bet dollars to donuts that an assignment to do in APL was only accepted in APL. If it was supposed to be SPITBOL, you might get away with SNOBOL (although you really needed recursion) but Fortran wasn't going to fly.



      Yes, for many reasons, a professor can define the parameters of assignments, including specifics such as the allowable programming language.






      share|improve this answer

















      • 4




        SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
        – Jon Custer
        Oct 25 at 22:13






      • 2




        I briefly used SNOBOL in the early '80s!
        – mkennedy
        Oct 25 at 22:19






      • 1




        I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
        – Michael Kay
        Oct 26 at 8:01






      • 3




        Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
        – Michael Kay
        Oct 26 at 22:32






      • 6




        Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
        – Don Branson
        Oct 29 at 19:39













      up vote
      22
      down vote










      up vote
      22
      down vote









      When I took a course in numerical methods eons ago, the first few assignments were to be done in Fortran 77. After doing some in Fortran, the professor then moved on to assignments in APL, SPITBOL, and C, each meant to demonstrate how different languages allowed problems to be attacked in different ways. No class time was spent in teaching these languages, we were expected to read the manuals and figure it out for ourselves in the week or so available. And, I learned a lot about a bunch of different languages and constructs that I still use today.



      But, you can bet dollars to donuts that an assignment to do in APL was only accepted in APL. If it was supposed to be SPITBOL, you might get away with SNOBOL (although you really needed recursion) but Fortran wasn't going to fly.



      Yes, for many reasons, a professor can define the parameters of assignments, including specifics such as the allowable programming language.






      share|improve this answer












      When I took a course in numerical methods eons ago, the first few assignments were to be done in Fortran 77. After doing some in Fortran, the professor then moved on to assignments in APL, SPITBOL, and C, each meant to demonstrate how different languages allowed problems to be attacked in different ways. No class time was spent in teaching these languages, we were expected to read the manuals and figure it out for ourselves in the week or so available. And, I learned a lot about a bunch of different languages and constructs that I still use today.



      But, you can bet dollars to donuts that an assignment to do in APL was only accepted in APL. If it was supposed to be SPITBOL, you might get away with SNOBOL (although you really needed recursion) but Fortran wasn't going to fly.



      Yes, for many reasons, a professor can define the parameters of assignments, including specifics such as the allowable programming language.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 25 at 18:38









      Jon Custer

      3,62421225




      3,62421225








      • 4




        SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
        – Jon Custer
        Oct 25 at 22:13






      • 2




        I briefly used SNOBOL in the early '80s!
        – mkennedy
        Oct 25 at 22:19






      • 1




        I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
        – Michael Kay
        Oct 26 at 8:01






      • 3




        Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
        – Michael Kay
        Oct 26 at 22:32






      • 6




        Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
        – Don Branson
        Oct 29 at 19:39














      • 4




        SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
        – Jon Custer
        Oct 25 at 22:13






      • 2




        I briefly used SNOBOL in the early '80s!
        – mkennedy
        Oct 25 at 22:19






      • 1




        I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
        – Michael Kay
        Oct 26 at 8:01






      • 3




        Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
        – Michael Kay
        Oct 26 at 22:32






      • 6




        Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
        – Don Branson
        Oct 29 at 19:39








      4




      4




      SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
      – Jon Custer
      Oct 25 at 22:13




      SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though.
      – Jon Custer
      Oct 25 at 22:13




      2




      2




      I briefly used SNOBOL in the early '80s!
      – mkennedy
      Oct 25 at 22:19




      I briefly used SNOBOL in the early '80s!
      – mkennedy
      Oct 25 at 22:19




      1




      1




      I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
      – Michael Kay
      Oct 26 at 8:01




      I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999.
      – Michael Kay
      Oct 26 at 8:01




      3




      3




      Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
      – Michael Kay
      Oct 26 at 22:32




      Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering.
      – Michael Kay
      Oct 26 at 22:32




      6




      6




      Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
      – Don Branson
      Oct 29 at 19:39




      Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us!
      – Don Branson
      Oct 29 at 19:39










      up vote
      14
      down vote













      I have used many languages throughout my studies and career and you can be sure of a few things




      1. In School, the teacher is always right, so either get on board or get off

      2. There is never going to be a single perfect language to use that will be used by everyone everywhere (SQL vs mongoDB, C++ vs JAVA, the list goes on and on)

      3. Learning different programming languages is a necessary skill for a programmer


      It's great a professor is forcing students to use a less popular language or a language that is not preferred. It helps prepare you for the real world where you will come across a job/situation where you have to use a programming language you've never used before. The hurdles of learning a new language in school will help with the hurdles of learning a new language in your future job.






      share|improve this answer



















      • 8




        After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
        – AlexanderJ93
        Oct 26 at 19:05






      • 4




        SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
        – Nelson
        Oct 29 at 8:51

















      up vote
      14
      down vote













      I have used many languages throughout my studies and career and you can be sure of a few things




      1. In School, the teacher is always right, so either get on board or get off

      2. There is never going to be a single perfect language to use that will be used by everyone everywhere (SQL vs mongoDB, C++ vs JAVA, the list goes on and on)

      3. Learning different programming languages is a necessary skill for a programmer


      It's great a professor is forcing students to use a less popular language or a language that is not preferred. It helps prepare you for the real world where you will come across a job/situation where you have to use a programming language you've never used before. The hurdles of learning a new language in school will help with the hurdles of learning a new language in your future job.






      share|improve this answer



















      • 8




        After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
        – AlexanderJ93
        Oct 26 at 19:05






      • 4




        SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
        – Nelson
        Oct 29 at 8:51















      up vote
      14
      down vote










      up vote
      14
      down vote









      I have used many languages throughout my studies and career and you can be sure of a few things




      1. In School, the teacher is always right, so either get on board or get off

      2. There is never going to be a single perfect language to use that will be used by everyone everywhere (SQL vs mongoDB, C++ vs JAVA, the list goes on and on)

      3. Learning different programming languages is a necessary skill for a programmer


      It's great a professor is forcing students to use a less popular language or a language that is not preferred. It helps prepare you for the real world where you will come across a job/situation where you have to use a programming language you've never used before. The hurdles of learning a new language in school will help with the hurdles of learning a new language in your future job.






      share|improve this answer














      I have used many languages throughout my studies and career and you can be sure of a few things




      1. In School, the teacher is always right, so either get on board or get off

      2. There is never going to be a single perfect language to use that will be used by everyone everywhere (SQL vs mongoDB, C++ vs JAVA, the list goes on and on)

      3. Learning different programming languages is a necessary skill for a programmer


      It's great a professor is forcing students to use a less popular language or a language that is not preferred. It helps prepare you for the real world where you will come across a job/situation where you have to use a programming language you've never used before. The hurdles of learning a new language in school will help with the hurdles of learning a new language in your future job.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Oct 30 at 15:27

























      answered Oct 25 at 21:24









      RAZ_Muh_Taz

      44916




      44916








      • 8




        After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
        – AlexanderJ93
        Oct 26 at 19:05






      • 4




        SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
        – Nelson
        Oct 29 at 8:51
















      • 8




        After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
        – AlexanderJ93
        Oct 26 at 19:05






      • 4




        SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
        – Nelson
        Oct 29 at 8:51










      8




      8




      After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
      – AlexanderJ93
      Oct 26 at 19:05




      After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly.
      – AlexanderJ93
      Oct 26 at 19:05




      4




      4




      SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
      – Nelson
      Oct 29 at 8:51






      SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell.
      – Nelson
      Oct 29 at 8:51












      up vote
      9
      down vote













      Yes, I am in control of my classes and will decide what in your work is worth points and what is not. I'll tell you that up front, with plenty of time for you to drop.



      Not only will I demand you use the syntax and language I am teaching (for my own grading ease and consistency of results, like performance timing), but I will demand you follow my code formatting rules for indentation, tab stops, limits on line length, variable names and how to case them, and commenting within your code to help me see what you have done and why you are doing it.



      Because the butt-sore truth is, when you get into the real world, you will find that writing working code is not enough, your code needs to be maintainable and readable by others. And chances are, you are going have to read and debug TONS of other people's code, and you will appreciate this then.



      Before I was a professor I was a division manager in charge of code for a public company. Newbies are often given testing and debugging tasks to get them familiar with the code and systems and to evaluate their expertise and productivity.



      So first, IRL programmers move on to other companies, departments, or roles within the company. So not only do we have to deal with code by programmers no longer with us, the senior programmers are often working on deadline for critical NEW projects, and they don't have the time to debug their own code from years ago, or even answer questions about it.



      That makes maintainability of code very important, because hardware and software libraries and operating systems and compiler / interpreter release change much faster than our code base, and break our systems. The code must be legible, easy to understand, and easy to follow. I don't want any "black box" code that just "works right" because when it stops working, I don't want to rewrite it to fix it.



      So I enforce that in my classes too. Yes your code has to work, but that isn't the whole grade. You must use the tools I gave you, or you don't pass: Because real companies have standards, even down to the editor you use, and my assignments are an exercise in you using the tools given, not just getting the right answer.



      You must also write code that obeys my code formatting and commenting guidelines, those are worth a letter grade. Because IRL if you gave me (your manager) that as a coder, I'd have to send it back to you for proper formatting, and there goes 1 or 2 days of your pay and productivity because you can't follow simple list of written directions.



      The equivalent in the classroom is your grade, so -10 for mistakenly thinking that getting the right answer is all that matters to the company. How you got the answer is important, and Maintainability of your code after you are gone or no longer maintaining it is also very important.






      share|improve this answer



















      • 2




        @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
        – Amadeus
        Oct 30 at 11:52










      • What will you do for the final semester worthless class? It's too late to drop.
        – Joshua
        Nov 2 at 19:13








      • 2




        @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
        – Amadeus
        Nov 2 at 19:21















      up vote
      9
      down vote













      Yes, I am in control of my classes and will decide what in your work is worth points and what is not. I'll tell you that up front, with plenty of time for you to drop.



      Not only will I demand you use the syntax and language I am teaching (for my own grading ease and consistency of results, like performance timing), but I will demand you follow my code formatting rules for indentation, tab stops, limits on line length, variable names and how to case them, and commenting within your code to help me see what you have done and why you are doing it.



      Because the butt-sore truth is, when you get into the real world, you will find that writing working code is not enough, your code needs to be maintainable and readable by others. And chances are, you are going have to read and debug TONS of other people's code, and you will appreciate this then.



      Before I was a professor I was a division manager in charge of code for a public company. Newbies are often given testing and debugging tasks to get them familiar with the code and systems and to evaluate their expertise and productivity.



      So first, IRL programmers move on to other companies, departments, or roles within the company. So not only do we have to deal with code by programmers no longer with us, the senior programmers are often working on deadline for critical NEW projects, and they don't have the time to debug their own code from years ago, or even answer questions about it.



      That makes maintainability of code very important, because hardware and software libraries and operating systems and compiler / interpreter release change much faster than our code base, and break our systems. The code must be legible, easy to understand, and easy to follow. I don't want any "black box" code that just "works right" because when it stops working, I don't want to rewrite it to fix it.



      So I enforce that in my classes too. Yes your code has to work, but that isn't the whole grade. You must use the tools I gave you, or you don't pass: Because real companies have standards, even down to the editor you use, and my assignments are an exercise in you using the tools given, not just getting the right answer.



      You must also write code that obeys my code formatting and commenting guidelines, those are worth a letter grade. Because IRL if you gave me (your manager) that as a coder, I'd have to send it back to you for proper formatting, and there goes 1 or 2 days of your pay and productivity because you can't follow simple list of written directions.



      The equivalent in the classroom is your grade, so -10 for mistakenly thinking that getting the right answer is all that matters to the company. How you got the answer is important, and Maintainability of your code after you are gone or no longer maintaining it is also very important.






      share|improve this answer



















      • 2




        @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
        – Amadeus
        Oct 30 at 11:52










      • What will you do for the final semester worthless class? It's too late to drop.
        – Joshua
        Nov 2 at 19:13








      • 2




        @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
        – Amadeus
        Nov 2 at 19:21













      up vote
      9
      down vote










      up vote
      9
      down vote









      Yes, I am in control of my classes and will decide what in your work is worth points and what is not. I'll tell you that up front, with plenty of time for you to drop.



      Not only will I demand you use the syntax and language I am teaching (for my own grading ease and consistency of results, like performance timing), but I will demand you follow my code formatting rules for indentation, tab stops, limits on line length, variable names and how to case them, and commenting within your code to help me see what you have done and why you are doing it.



      Because the butt-sore truth is, when you get into the real world, you will find that writing working code is not enough, your code needs to be maintainable and readable by others. And chances are, you are going have to read and debug TONS of other people's code, and you will appreciate this then.



      Before I was a professor I was a division manager in charge of code for a public company. Newbies are often given testing and debugging tasks to get them familiar with the code and systems and to evaluate their expertise and productivity.



      So first, IRL programmers move on to other companies, departments, or roles within the company. So not only do we have to deal with code by programmers no longer with us, the senior programmers are often working on deadline for critical NEW projects, and they don't have the time to debug their own code from years ago, or even answer questions about it.



      That makes maintainability of code very important, because hardware and software libraries and operating systems and compiler / interpreter release change much faster than our code base, and break our systems. The code must be legible, easy to understand, and easy to follow. I don't want any "black box" code that just "works right" because when it stops working, I don't want to rewrite it to fix it.



      So I enforce that in my classes too. Yes your code has to work, but that isn't the whole grade. You must use the tools I gave you, or you don't pass: Because real companies have standards, even down to the editor you use, and my assignments are an exercise in you using the tools given, not just getting the right answer.



      You must also write code that obeys my code formatting and commenting guidelines, those are worth a letter grade. Because IRL if you gave me (your manager) that as a coder, I'd have to send it back to you for proper formatting, and there goes 1 or 2 days of your pay and productivity because you can't follow simple list of written directions.



      The equivalent in the classroom is your grade, so -10 for mistakenly thinking that getting the right answer is all that matters to the company. How you got the answer is important, and Maintainability of your code after you are gone or no longer maintaining it is also very important.






      share|improve this answer














      Yes, I am in control of my classes and will decide what in your work is worth points and what is not. I'll tell you that up front, with plenty of time for you to drop.



      Not only will I demand you use the syntax and language I am teaching (for my own grading ease and consistency of results, like performance timing), but I will demand you follow my code formatting rules for indentation, tab stops, limits on line length, variable names and how to case them, and commenting within your code to help me see what you have done and why you are doing it.



      Because the butt-sore truth is, when you get into the real world, you will find that writing working code is not enough, your code needs to be maintainable and readable by others. And chances are, you are going have to read and debug TONS of other people's code, and you will appreciate this then.



      Before I was a professor I was a division manager in charge of code for a public company. Newbies are often given testing and debugging tasks to get them familiar with the code and systems and to evaluate their expertise and productivity.



      So first, IRL programmers move on to other companies, departments, or roles within the company. So not only do we have to deal with code by programmers no longer with us, the senior programmers are often working on deadline for critical NEW projects, and they don't have the time to debug their own code from years ago, or even answer questions about it.



      That makes maintainability of code very important, because hardware and software libraries and operating systems and compiler / interpreter release change much faster than our code base, and break our systems. The code must be legible, easy to understand, and easy to follow. I don't want any "black box" code that just "works right" because when it stops working, I don't want to rewrite it to fix it.



      So I enforce that in my classes too. Yes your code has to work, but that isn't the whole grade. You must use the tools I gave you, or you don't pass: Because real companies have standards, even down to the editor you use, and my assignments are an exercise in you using the tools given, not just getting the right answer.



      You must also write code that obeys my code formatting and commenting guidelines, those are worth a letter grade. Because IRL if you gave me (your manager) that as a coder, I'd have to send it back to you for proper formatting, and there goes 1 or 2 days of your pay and productivity because you can't follow simple list of written directions.



      The equivalent in the classroom is your grade, so -10 for mistakenly thinking that getting the right answer is all that matters to the company. How you got the answer is important, and Maintainability of your code after you are gone or no longer maintaining it is also very important.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Oct 29 at 16:50

























      answered Oct 29 at 11:36









      Amadeus

      55514




      55514








      • 2




        @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
        – Amadeus
        Oct 30 at 11:52










      • What will you do for the final semester worthless class? It's too late to drop.
        – Joshua
        Nov 2 at 19:13








      • 2




        @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
        – Amadeus
        Nov 2 at 19:21














      • 2




        @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
        – Amadeus
        Oct 30 at 11:52










      • What will you do for the final semester worthless class? It's too late to drop.
        – Joshua
        Nov 2 at 19:13








      • 2




        @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
        – Amadeus
        Nov 2 at 19:21








      2




      2




      @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
      – Amadeus
      Oct 30 at 11:52




      @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem.
      – Amadeus
      Oct 30 at 11:52












      What will you do for the final semester worthless class? It's too late to drop.
      – Joshua
      Nov 2 at 19:13






      What will you do for the final semester worthless class? It's too late to drop.
      – Joshua
      Nov 2 at 19:13






      2




      2




      @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
      – Amadeus
      Nov 2 at 19:21




      @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way.
      – Amadeus
      Nov 2 at 19:21










      up vote
      8
      down vote













      Teaching involves more than just doing the lecture, you have to prepare the materials, be familiar with the content, prepare exercises, exams, etc.



      How do you suppose the professor would do that without restricting the dialect? Or how can the professor be fair to the students without restricting it?



      Example: "We favour Oracle, but we accept any other dialect". So the student that chooses to do it in pgsql would be at a disadvantage because the material was not prepared for it, the syntax is different, examples won't work, etc...



      But then we add pgsql because it is well known. But it would make no sense to add pgsql and not use mysql too. When does it stop?






      share|improve this answer

















      • 5




        To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
        – xLeitix
        Oct 25 at 17:37






      • 5




        Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
        – Fábio Dias
        Oct 25 at 17:43






      • 2




        @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
        – AlexanderJ93
        Oct 26 at 18:59















      up vote
      8
      down vote













      Teaching involves more than just doing the lecture, you have to prepare the materials, be familiar with the content, prepare exercises, exams, etc.



      How do you suppose the professor would do that without restricting the dialect? Or how can the professor be fair to the students without restricting it?



      Example: "We favour Oracle, but we accept any other dialect". So the student that chooses to do it in pgsql would be at a disadvantage because the material was not prepared for it, the syntax is different, examples won't work, etc...



      But then we add pgsql because it is well known. But it would make no sense to add pgsql and not use mysql too. When does it stop?






      share|improve this answer

















      • 5




        To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
        – xLeitix
        Oct 25 at 17:37






      • 5




        Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
        – Fábio Dias
        Oct 25 at 17:43






      • 2




        @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
        – AlexanderJ93
        Oct 26 at 18:59













      up vote
      8
      down vote










      up vote
      8
      down vote









      Teaching involves more than just doing the lecture, you have to prepare the materials, be familiar with the content, prepare exercises, exams, etc.



      How do you suppose the professor would do that without restricting the dialect? Or how can the professor be fair to the students without restricting it?



      Example: "We favour Oracle, but we accept any other dialect". So the student that chooses to do it in pgsql would be at a disadvantage because the material was not prepared for it, the syntax is different, examples won't work, etc...



      But then we add pgsql because it is well known. But it would make no sense to add pgsql and not use mysql too. When does it stop?






      share|improve this answer












      Teaching involves more than just doing the lecture, you have to prepare the materials, be familiar with the content, prepare exercises, exams, etc.



      How do you suppose the professor would do that without restricting the dialect? Or how can the professor be fair to the students without restricting it?



      Example: "We favour Oracle, but we accept any other dialect". So the student that chooses to do it in pgsql would be at a disadvantage because the material was not prepared for it, the syntax is different, examples won't work, etc...



      But then we add pgsql because it is well known. But it would make no sense to add pgsql and not use mysql too. When does it stop?







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 25 at 17:36









      Fábio Dias

      7,30212349




      7,30212349








      • 5




        To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
        – xLeitix
        Oct 25 at 17:37






      • 5




        Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
        – Fábio Dias
        Oct 25 at 17:43






      • 2




        @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
        – AlexanderJ93
        Oct 26 at 18:59














      • 5




        To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
        – xLeitix
        Oct 25 at 17:37






      • 5




        Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
        – Fábio Dias
        Oct 25 at 17:43






      • 2




        @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
        – AlexanderJ93
        Oct 26 at 18:59








      5




      5




      To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
      – xLeitix
      Oct 25 at 17:37




      To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage.
      – xLeitix
      Oct 25 at 17:37




      5




      5




      Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
      – Fábio Dias
      Oct 25 at 17:43




      Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did)
      – Fábio Dias
      Oct 25 at 17:43




      2




      2




      @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
      – AlexanderJ93
      Oct 26 at 18:59




      @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students.
      – AlexanderJ93
      Oct 26 at 18:59










      up vote
      5
      down vote













      Hmm, I don't wish to be rude, but this seems like a rather bizarre question. It's like saying, "The professor is insisting we work from textbook X. But I'd prefer to use textbook Y." It may be that you could make a good case that Y is a better textbook. But if the class is going to be coherent, all the students should be working from the same textbook.



      If everyone used a different dialect of SQL, then the professor would have to include discussions of all the different dialects in every class. Not only would the prof have to know all the dialects and all the differences, but he would have to take class time to discuss these differences constantly, rather than concentrating on the basic points. For students who are already thoroughly familiar with SQL, discussing differences between different dialects might be interesting and useful. But if the point of the class is to teach SQL, such digressions would not only be a burden on the professor but on the students. Students would have to be sorting through, what dialect is he talking about now? Does that apply to me or is that one I'm not using? The level of complexity would be greatly multiplied.



      And how would he grade assignments? Is he supposed to have all these different dialects installed on his computer? And keep track of which student is using which dialect and be sure to test with the right one?



      What if someone said, "I don't want to use SQL at all. I want to use Mongo"?



      What if someone said, "I don't want to learn about databases. I want to learn about writing flat files"?



      What if someone said, "I don't want to learn about databases. I want to learn about the French Revolution"?



      Where would this end?






      share|improve this answer





















      • Unwise to drag textbooks into this.
        – Joshua
        Nov 2 at 19:51










      • @Joshua Not sure what your point is. The bit about textbooks was an example.
        – Jay
        Nov 2 at 19:55










      • It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
        – Joshua
        Nov 2 at 19:57















      up vote
      5
      down vote













      Hmm, I don't wish to be rude, but this seems like a rather bizarre question. It's like saying, "The professor is insisting we work from textbook X. But I'd prefer to use textbook Y." It may be that you could make a good case that Y is a better textbook. But if the class is going to be coherent, all the students should be working from the same textbook.



      If everyone used a different dialect of SQL, then the professor would have to include discussions of all the different dialects in every class. Not only would the prof have to know all the dialects and all the differences, but he would have to take class time to discuss these differences constantly, rather than concentrating on the basic points. For students who are already thoroughly familiar with SQL, discussing differences between different dialects might be interesting and useful. But if the point of the class is to teach SQL, such digressions would not only be a burden on the professor but on the students. Students would have to be sorting through, what dialect is he talking about now? Does that apply to me or is that one I'm not using? The level of complexity would be greatly multiplied.



      And how would he grade assignments? Is he supposed to have all these different dialects installed on his computer? And keep track of which student is using which dialect and be sure to test with the right one?



      What if someone said, "I don't want to use SQL at all. I want to use Mongo"?



      What if someone said, "I don't want to learn about databases. I want to learn about writing flat files"?



      What if someone said, "I don't want to learn about databases. I want to learn about the French Revolution"?



      Where would this end?






      share|improve this answer





















      • Unwise to drag textbooks into this.
        – Joshua
        Nov 2 at 19:51










      • @Joshua Not sure what your point is. The bit about textbooks was an example.
        – Jay
        Nov 2 at 19:55










      • It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
        – Joshua
        Nov 2 at 19:57













      up vote
      5
      down vote










      up vote
      5
      down vote









      Hmm, I don't wish to be rude, but this seems like a rather bizarre question. It's like saying, "The professor is insisting we work from textbook X. But I'd prefer to use textbook Y." It may be that you could make a good case that Y is a better textbook. But if the class is going to be coherent, all the students should be working from the same textbook.



      If everyone used a different dialect of SQL, then the professor would have to include discussions of all the different dialects in every class. Not only would the prof have to know all the dialects and all the differences, but he would have to take class time to discuss these differences constantly, rather than concentrating on the basic points. For students who are already thoroughly familiar with SQL, discussing differences between different dialects might be interesting and useful. But if the point of the class is to teach SQL, such digressions would not only be a burden on the professor but on the students. Students would have to be sorting through, what dialect is he talking about now? Does that apply to me or is that one I'm not using? The level of complexity would be greatly multiplied.



      And how would he grade assignments? Is he supposed to have all these different dialects installed on his computer? And keep track of which student is using which dialect and be sure to test with the right one?



      What if someone said, "I don't want to use SQL at all. I want to use Mongo"?



      What if someone said, "I don't want to learn about databases. I want to learn about writing flat files"?



      What if someone said, "I don't want to learn about databases. I want to learn about the French Revolution"?



      Where would this end?






      share|improve this answer












      Hmm, I don't wish to be rude, but this seems like a rather bizarre question. It's like saying, "The professor is insisting we work from textbook X. But I'd prefer to use textbook Y." It may be that you could make a good case that Y is a better textbook. But if the class is going to be coherent, all the students should be working from the same textbook.



      If everyone used a different dialect of SQL, then the professor would have to include discussions of all the different dialects in every class. Not only would the prof have to know all the dialects and all the differences, but he would have to take class time to discuss these differences constantly, rather than concentrating on the basic points. For students who are already thoroughly familiar with SQL, discussing differences between different dialects might be interesting and useful. But if the point of the class is to teach SQL, such digressions would not only be a burden on the professor but on the students. Students would have to be sorting through, what dialect is he talking about now? Does that apply to me or is that one I'm not using? The level of complexity would be greatly multiplied.



      And how would he grade assignments? Is he supposed to have all these different dialects installed on his computer? And keep track of which student is using which dialect and be sure to test with the right one?



      What if someone said, "I don't want to use SQL at all. I want to use Mongo"?



      What if someone said, "I don't want to learn about databases. I want to learn about writing flat files"?



      What if someone said, "I don't want to learn about databases. I want to learn about the French Revolution"?



      Where would this end?







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 31 at 19:55









      Jay

      84935




      84935












      • Unwise to drag textbooks into this.
        – Joshua
        Nov 2 at 19:51










      • @Joshua Not sure what your point is. The bit about textbooks was an example.
        – Jay
        Nov 2 at 19:55










      • It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
        – Joshua
        Nov 2 at 19:57


















      • Unwise to drag textbooks into this.
        – Joshua
        Nov 2 at 19:51










      • @Joshua Not sure what your point is. The bit about textbooks was an example.
        – Jay
        Nov 2 at 19:55










      • It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
        – Joshua
        Nov 2 at 19:57
















      Unwise to drag textbooks into this.
      – Joshua
      Nov 2 at 19:51




      Unwise to drag textbooks into this.
      – Joshua
      Nov 2 at 19:51












      @Joshua Not sure what your point is. The bit about textbooks was an example.
      – Jay
      Nov 2 at 19:55




      @Joshua Not sure what your point is. The bit about textbooks was an example.
      – Jay
      Nov 2 at 19:55












      It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
      – Joshua
      Nov 2 at 19:57




      It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one.
      – Joshua
      Nov 2 at 19:57










      up vote
      3
      down vote













      Most universities in the UK communicate information about their courses and modules by so-called course and module descriptors. They are often a part of your course handbook or provided in the module information pack.



      Read the module descriptor and take a look on Learning Objectives for the module. They describe the skills and knowledge which you will obtain after a successful completion of this module. Your lecturer is here to help you acquire those skills.




      • If the LOs say you will learn a language/syntax, then this is what you need to learn. Presumably a choice of language is well justified since it made it into a formal document (which is a part of your learning contract).

      • If LOs say you will learn how to manage a database, then you have to manage a database using any suitable language. If the lecturer wants to impose a restriction, she/he should justify it using objective reasons, e.g. this program is outdated, this is not suitable for the task, this is proprietary and University does not have a license for it, etc. Forcing individual preferences on students without academic need for it is not cool and only shows that the lecturer has limited skill set and can't be bothered to learn more. This is not a good example to follow.






      share|improve this answer

















      • 3




        I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
        – Michael Kay
        Oct 26 at 22:35






      • 2




        Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
        – Daniel R. Collins
        Oct 29 at 1:09








      • 1




        @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
        – Dmitry Savostyanov
        Oct 29 at 7:45






      • 1




        It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
        – Daniel R. Collins
        Oct 29 at 15:07






      • 1




        @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
        – Dmitry Savostyanov
        Oct 30 at 8:07















      up vote
      3
      down vote













      Most universities in the UK communicate information about their courses and modules by so-called course and module descriptors. They are often a part of your course handbook or provided in the module information pack.



      Read the module descriptor and take a look on Learning Objectives for the module. They describe the skills and knowledge which you will obtain after a successful completion of this module. Your lecturer is here to help you acquire those skills.




      • If the LOs say you will learn a language/syntax, then this is what you need to learn. Presumably a choice of language is well justified since it made it into a formal document (which is a part of your learning contract).

      • If LOs say you will learn how to manage a database, then you have to manage a database using any suitable language. If the lecturer wants to impose a restriction, she/he should justify it using objective reasons, e.g. this program is outdated, this is not suitable for the task, this is proprietary and University does not have a license for it, etc. Forcing individual preferences on students without academic need for it is not cool and only shows that the lecturer has limited skill set and can't be bothered to learn more. This is not a good example to follow.






      share|improve this answer

















      • 3




        I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
        – Michael Kay
        Oct 26 at 22:35






      • 2




        Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
        – Daniel R. Collins
        Oct 29 at 1:09








      • 1




        @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
        – Dmitry Savostyanov
        Oct 29 at 7:45






      • 1




        It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
        – Daniel R. Collins
        Oct 29 at 15:07






      • 1




        @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
        – Dmitry Savostyanov
        Oct 30 at 8:07













      up vote
      3
      down vote










      up vote
      3
      down vote









      Most universities in the UK communicate information about their courses and modules by so-called course and module descriptors. They are often a part of your course handbook or provided in the module information pack.



      Read the module descriptor and take a look on Learning Objectives for the module. They describe the skills and knowledge which you will obtain after a successful completion of this module. Your lecturer is here to help you acquire those skills.




      • If the LOs say you will learn a language/syntax, then this is what you need to learn. Presumably a choice of language is well justified since it made it into a formal document (which is a part of your learning contract).

      • If LOs say you will learn how to manage a database, then you have to manage a database using any suitable language. If the lecturer wants to impose a restriction, she/he should justify it using objective reasons, e.g. this program is outdated, this is not suitable for the task, this is proprietary and University does not have a license for it, etc. Forcing individual preferences on students without academic need for it is not cool and only shows that the lecturer has limited skill set and can't be bothered to learn more. This is not a good example to follow.






      share|improve this answer












      Most universities in the UK communicate information about their courses and modules by so-called course and module descriptors. They are often a part of your course handbook or provided in the module information pack.



      Read the module descriptor and take a look on Learning Objectives for the module. They describe the skills and knowledge which you will obtain after a successful completion of this module. Your lecturer is here to help you acquire those skills.




      • If the LOs say you will learn a language/syntax, then this is what you need to learn. Presumably a choice of language is well justified since it made it into a formal document (which is a part of your learning contract).

      • If LOs say you will learn how to manage a database, then you have to manage a database using any suitable language. If the lecturer wants to impose a restriction, she/he should justify it using objective reasons, e.g. this program is outdated, this is not suitable for the task, this is proprietary and University does not have a license for it, etc. Forcing individual preferences on students without academic need for it is not cool and only shows that the lecturer has limited skill set and can't be bothered to learn more. This is not a good example to follow.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 25 at 18:50









      Dmitry Savostyanov

      22.2k747102




      22.2k747102








      • 3




        I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
        – Michael Kay
        Oct 26 at 22:35






      • 2




        Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
        – Daniel R. Collins
        Oct 29 at 1:09








      • 1




        @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
        – Dmitry Savostyanov
        Oct 29 at 7:45






      • 1




        It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
        – Daniel R. Collins
        Oct 29 at 15:07






      • 1




        @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
        – Dmitry Savostyanov
        Oct 30 at 8:07














      • 3




        I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
        – Michael Kay
        Oct 26 at 22:35






      • 2




        Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
        – Daniel R. Collins
        Oct 29 at 1:09








      • 1




        @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
        – Dmitry Savostyanov
        Oct 29 at 7:45






      • 1




        It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
        – Daniel R. Collins
        Oct 29 at 15:07






      • 1




        @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
        – Dmitry Savostyanov
        Oct 30 at 8:07








      3




      3




      I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
      – Michael Kay
      Oct 26 at 22:35




      I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted.
      – Michael Kay
      Oct 26 at 22:35




      2




      2




      Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
      – Daniel R. Collins
      Oct 29 at 1:09






      Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language.
      – Daniel R. Collins
      Oct 29 at 1:09






      1




      1




      @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
      – Dmitry Savostyanov
      Oct 29 at 7:45




      @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself?
      – Dmitry Savostyanov
      Oct 29 at 7:45




      1




      1




      It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
      – Daniel R. Collins
      Oct 29 at 15:07




      It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles.
      – Daniel R. Collins
      Oct 29 at 15:07




      1




      1




      @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
      – Dmitry Savostyanov
      Oct 30 at 8:07




      @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading?
      – Dmitry Savostyanov
      Oct 30 at 8:07










      up vote
      3
      down vote













      In general yes, but perhaps not with artifically "pushing" a specific commercial tool



      I agree with the multiple answers as a matter of principle - teachers can and do choose how to teach their classes, and have much leeway regarding choice of tools for the students to use, as well as form and syntax for homework submission.



      That being said, if the teacher of a course forces the use of a tool and/or dialect which:




      • Is only provided by a single commercial entity

      • (perhaps) Requires the students to expend financial resources on gaining access to this tool

      • (perhaps) Requires the university expend financial resources on gaining access to this tool

      • Has more commonly-used, freely-available and well-regarded alternatives

      • and the teacher refuses not provide a (minimally credible) rationale for exclusively using the tool


      ... then this may be ethically problematic. It is effectively a form of coercive commercial advertising on the teacher's part - if not artificial revenue-generation for the provider of such a tool - and may be contrary to the academic institute's regulations, or possibly to state laws.



      Now, I'll grant that this is tricky business, since we're talking about regulating academic freedom with somewhat extrinsic considerations, so it would have to be rather egregious. I doubt that saying "Use the Oracle SQL variant" meets the above criteria, since for the purposes of your course it's probably effectively the same thing as ISO SQL; or can be trivially adapted from other SQL variants; and apparently there's an "Express version" which you can use for free. But in the kinds of cases I described above it is not as cut-and-dry as other responders to your question suggest.






      share|improve this answer



















      • 7




        Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
        – AnoE
        Oct 27 at 18:20










      • @AnoE: See edit.
        – einpoklum
        Oct 27 at 20:08










      • I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
        – Joshua
        Oct 28 at 1:18






      • 3




        @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
        – einpoklum
        Oct 29 at 13:14








      • 1




        @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
        – einpoklum
        Oct 29 at 14:42















      up vote
      3
      down vote













      In general yes, but perhaps not with artifically "pushing" a specific commercial tool



      I agree with the multiple answers as a matter of principle - teachers can and do choose how to teach their classes, and have much leeway regarding choice of tools for the students to use, as well as form and syntax for homework submission.



      That being said, if the teacher of a course forces the use of a tool and/or dialect which:




      • Is only provided by a single commercial entity

      • (perhaps) Requires the students to expend financial resources on gaining access to this tool

      • (perhaps) Requires the university expend financial resources on gaining access to this tool

      • Has more commonly-used, freely-available and well-regarded alternatives

      • and the teacher refuses not provide a (minimally credible) rationale for exclusively using the tool


      ... then this may be ethically problematic. It is effectively a form of coercive commercial advertising on the teacher's part - if not artificial revenue-generation for the provider of such a tool - and may be contrary to the academic institute's regulations, or possibly to state laws.



      Now, I'll grant that this is tricky business, since we're talking about regulating academic freedom with somewhat extrinsic considerations, so it would have to be rather egregious. I doubt that saying "Use the Oracle SQL variant" meets the above criteria, since for the purposes of your course it's probably effectively the same thing as ISO SQL; or can be trivially adapted from other SQL variants; and apparently there's an "Express version" which you can use for free. But in the kinds of cases I described above it is not as cut-and-dry as other responders to your question suggest.






      share|improve this answer



















      • 7




        Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
        – AnoE
        Oct 27 at 18:20










      • @AnoE: See edit.
        – einpoklum
        Oct 27 at 20:08










      • I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
        – Joshua
        Oct 28 at 1:18






      • 3




        @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
        – einpoklum
        Oct 29 at 13:14








      • 1




        @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
        – einpoklum
        Oct 29 at 14:42













      up vote
      3
      down vote










      up vote
      3
      down vote









      In general yes, but perhaps not with artifically "pushing" a specific commercial tool



      I agree with the multiple answers as a matter of principle - teachers can and do choose how to teach their classes, and have much leeway regarding choice of tools for the students to use, as well as form and syntax for homework submission.



      That being said, if the teacher of a course forces the use of a tool and/or dialect which:




      • Is only provided by a single commercial entity

      • (perhaps) Requires the students to expend financial resources on gaining access to this tool

      • (perhaps) Requires the university expend financial resources on gaining access to this tool

      • Has more commonly-used, freely-available and well-regarded alternatives

      • and the teacher refuses not provide a (minimally credible) rationale for exclusively using the tool


      ... then this may be ethically problematic. It is effectively a form of coercive commercial advertising on the teacher's part - if not artificial revenue-generation for the provider of such a tool - and may be contrary to the academic institute's regulations, or possibly to state laws.



      Now, I'll grant that this is tricky business, since we're talking about regulating academic freedom with somewhat extrinsic considerations, so it would have to be rather egregious. I doubt that saying "Use the Oracle SQL variant" meets the above criteria, since for the purposes of your course it's probably effectively the same thing as ISO SQL; or can be trivially adapted from other SQL variants; and apparently there's an "Express version" which you can use for free. But in the kinds of cases I described above it is not as cut-and-dry as other responders to your question suggest.






      share|improve this answer














      In general yes, but perhaps not with artifically "pushing" a specific commercial tool



      I agree with the multiple answers as a matter of principle - teachers can and do choose how to teach their classes, and have much leeway regarding choice of tools for the students to use, as well as form and syntax for homework submission.



      That being said, if the teacher of a course forces the use of a tool and/or dialect which:




      • Is only provided by a single commercial entity

      • (perhaps) Requires the students to expend financial resources on gaining access to this tool

      • (perhaps) Requires the university expend financial resources on gaining access to this tool

      • Has more commonly-used, freely-available and well-regarded alternatives

      • and the teacher refuses not provide a (minimally credible) rationale for exclusively using the tool


      ... then this may be ethically problematic. It is effectively a form of coercive commercial advertising on the teacher's part - if not artificial revenue-generation for the provider of such a tool - and may be contrary to the academic institute's regulations, or possibly to state laws.



      Now, I'll grant that this is tricky business, since we're talking about regulating academic freedom with somewhat extrinsic considerations, so it would have to be rather egregious. I doubt that saying "Use the Oracle SQL variant" meets the above criteria, since for the purposes of your course it's probably effectively the same thing as ISO SQL; or can be trivially adapted from other SQL variants; and apparently there's an "Express version" which you can use for free. But in the kinds of cases I described above it is not as cut-and-dry as other responders to your question suggest.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Oct 28 at 11:34

























      answered Oct 27 at 16:34









      einpoklum

      22.3k136130




      22.3k136130








      • 7




        Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
        – AnoE
        Oct 27 at 18:20










      • @AnoE: See edit.
        – einpoklum
        Oct 27 at 20:08










      • I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
        – Joshua
        Oct 28 at 1:18






      • 3




        @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
        – einpoklum
        Oct 29 at 13:14








      • 1




        @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
        – einpoklum
        Oct 29 at 14:42














      • 7




        Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
        – AnoE
        Oct 27 at 18:20










      • @AnoE: See edit.
        – einpoklum
        Oct 27 at 20:08










      • I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
        – Joshua
        Oct 28 at 1:18






      • 3




        @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
        – einpoklum
        Oct 29 at 13:14








      • 1




        @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
        – einpoklum
        Oct 29 at 14:42








      7




      7




      Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
      – AnoE
      Oct 27 at 18:20




      Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that.
      – AnoE
      Oct 27 at 18:20












      @AnoE: See edit.
      – einpoklum
      Oct 27 at 20:08




      @AnoE: See edit.
      – einpoklum
      Oct 27 at 20:08












      I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
      – Joshua
      Oct 28 at 1:18




      I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go.
      – Joshua
      Oct 28 at 1:18




      3




      3




      @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
      – einpoklum
      Oct 29 at 13:14






      @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.)
      – einpoklum
      Oct 29 at 13:14






      1




      1




      @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
      – einpoklum
      Oct 29 at 14:42




      @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers.
      – einpoklum
      Oct 29 at 14:42










      up vote
      1
      down vote













      For what its worth, with Oracle and PL/SQL you will get not only the core relational database and SQL experience, but also some hands-on experience with some aspects of a commercial database and its extensions to the standard. This will enable you to pick up just about any of the other standards-based RDBMS systems on your own and it will instantly feel familiar. You may not have another good opportunity to learn a commercial database prior to getting into the job market, and having Oracle PL/SQL on there will look great and possibly open some employment opportunities that would not normally be available to new graduates.



      I'll add my own experiences to the pile for contrast. The lectures for my Introduction to Object Oriented Programming class in the mid-90's was taught in Fortran 77 (a non-OO language) because the (tenured) professor didn't know C++ and this was his last semester before retirement. He lectured using his notes (written on punch cards) from an earlier Data Structures class (based on an unrelated textbook), while the programming labs were taught in C++ by graduate students who actually knew what they were doing (thank you, Hamid). The exams were blue-book (written essay) and required answers to Object-Oriented programming questions drawn from the C++ lab assignments...written in Pascal - a language that none of the students in the class had been taught but were presumed to already know. Every student received a 2.5 and the professor retired. I learned OO programming from a graduate student during a two hour-per-week lab assignment, while his attention was split among 15 other students.



      Another example from the following semester (more relevant to your situation). My Database class was taught without databases at all. There was no database, no SQL. The programming labs were entirely in C and involved assignments like implementing core data structures to support relational tables in memory, creating different indexes based on binary trees, etc., and writing queries using table scans and then the indexes, then evaluating their performance using big-O notation and refining the indexing methods. Even though I did well in the class, it provided no practical experience with any DBMS or query language. It was a Computer Science course in the purest form. In retrospect, the concepts stuck with me and it did help me to understand how to debug queries for performance.



      In summary, at the university level you need to choose your battles wisely, and I hope this convinces you that your current course is not so bad. It is up to you to find ways to get the most long-term value out of your courses.






      share|improve this answer








      New contributor




      vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















        up vote
        1
        down vote













        For what its worth, with Oracle and PL/SQL you will get not only the core relational database and SQL experience, but also some hands-on experience with some aspects of a commercial database and its extensions to the standard. This will enable you to pick up just about any of the other standards-based RDBMS systems on your own and it will instantly feel familiar. You may not have another good opportunity to learn a commercial database prior to getting into the job market, and having Oracle PL/SQL on there will look great and possibly open some employment opportunities that would not normally be available to new graduates.



        I'll add my own experiences to the pile for contrast. The lectures for my Introduction to Object Oriented Programming class in the mid-90's was taught in Fortran 77 (a non-OO language) because the (tenured) professor didn't know C++ and this was his last semester before retirement. He lectured using his notes (written on punch cards) from an earlier Data Structures class (based on an unrelated textbook), while the programming labs were taught in C++ by graduate students who actually knew what they were doing (thank you, Hamid). The exams were blue-book (written essay) and required answers to Object-Oriented programming questions drawn from the C++ lab assignments...written in Pascal - a language that none of the students in the class had been taught but were presumed to already know. Every student received a 2.5 and the professor retired. I learned OO programming from a graduate student during a two hour-per-week lab assignment, while his attention was split among 15 other students.



        Another example from the following semester (more relevant to your situation). My Database class was taught without databases at all. There was no database, no SQL. The programming labs were entirely in C and involved assignments like implementing core data structures to support relational tables in memory, creating different indexes based on binary trees, etc., and writing queries using table scans and then the indexes, then evaluating their performance using big-O notation and refining the indexing methods. Even though I did well in the class, it provided no practical experience with any DBMS or query language. It was a Computer Science course in the purest form. In retrospect, the concepts stuck with me and it did help me to understand how to debug queries for performance.



        In summary, at the university level you need to choose your battles wisely, and I hope this convinces you that your current course is not so bad. It is up to you to find ways to get the most long-term value out of your courses.






        share|improve this answer








        New contributor




        vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.




















          up vote
          1
          down vote










          up vote
          1
          down vote









          For what its worth, with Oracle and PL/SQL you will get not only the core relational database and SQL experience, but also some hands-on experience with some aspects of a commercial database and its extensions to the standard. This will enable you to pick up just about any of the other standards-based RDBMS systems on your own and it will instantly feel familiar. You may not have another good opportunity to learn a commercial database prior to getting into the job market, and having Oracle PL/SQL on there will look great and possibly open some employment opportunities that would not normally be available to new graduates.



          I'll add my own experiences to the pile for contrast. The lectures for my Introduction to Object Oriented Programming class in the mid-90's was taught in Fortran 77 (a non-OO language) because the (tenured) professor didn't know C++ and this was his last semester before retirement. He lectured using his notes (written on punch cards) from an earlier Data Structures class (based on an unrelated textbook), while the programming labs were taught in C++ by graduate students who actually knew what they were doing (thank you, Hamid). The exams were blue-book (written essay) and required answers to Object-Oriented programming questions drawn from the C++ lab assignments...written in Pascal - a language that none of the students in the class had been taught but were presumed to already know. Every student received a 2.5 and the professor retired. I learned OO programming from a graduate student during a two hour-per-week lab assignment, while his attention was split among 15 other students.



          Another example from the following semester (more relevant to your situation). My Database class was taught without databases at all. There was no database, no SQL. The programming labs were entirely in C and involved assignments like implementing core data structures to support relational tables in memory, creating different indexes based on binary trees, etc., and writing queries using table scans and then the indexes, then evaluating their performance using big-O notation and refining the indexing methods. Even though I did well in the class, it provided no practical experience with any DBMS or query language. It was a Computer Science course in the purest form. In retrospect, the concepts stuck with me and it did help me to understand how to debug queries for performance.



          In summary, at the university level you need to choose your battles wisely, and I hope this convinces you that your current course is not so bad. It is up to you to find ways to get the most long-term value out of your courses.






          share|improve this answer








          New contributor




          vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          For what its worth, with Oracle and PL/SQL you will get not only the core relational database and SQL experience, but also some hands-on experience with some aspects of a commercial database and its extensions to the standard. This will enable you to pick up just about any of the other standards-based RDBMS systems on your own and it will instantly feel familiar. You may not have another good opportunity to learn a commercial database prior to getting into the job market, and having Oracle PL/SQL on there will look great and possibly open some employment opportunities that would not normally be available to new graduates.



          I'll add my own experiences to the pile for contrast. The lectures for my Introduction to Object Oriented Programming class in the mid-90's was taught in Fortran 77 (a non-OO language) because the (tenured) professor didn't know C++ and this was his last semester before retirement. He lectured using his notes (written on punch cards) from an earlier Data Structures class (based on an unrelated textbook), while the programming labs were taught in C++ by graduate students who actually knew what they were doing (thank you, Hamid). The exams were blue-book (written essay) and required answers to Object-Oriented programming questions drawn from the C++ lab assignments...written in Pascal - a language that none of the students in the class had been taught but were presumed to already know. Every student received a 2.5 and the professor retired. I learned OO programming from a graduate student during a two hour-per-week lab assignment, while his attention was split among 15 other students.



          Another example from the following semester (more relevant to your situation). My Database class was taught without databases at all. There was no database, no SQL. The programming labs were entirely in C and involved assignments like implementing core data structures to support relational tables in memory, creating different indexes based on binary trees, etc., and writing queries using table scans and then the indexes, then evaluating their performance using big-O notation and refining the indexing methods. Even though I did well in the class, it provided no practical experience with any DBMS or query language. It was a Computer Science course in the purest form. In retrospect, the concepts stuck with me and it did help me to understand how to debug queries for performance.



          In summary, at the university level you need to choose your battles wisely, and I hope this convinces you that your current course is not so bad. It is up to you to find ways to get the most long-term value out of your courses.







          share|improve this answer








          New contributor




          vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          share|improve this answer



          share|improve this answer






          New contributor




          vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          answered Nov 3 at 13:00









          vallismortis

          16129




          16129




          New contributor




          vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.





          New contributor





          vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.






          vallismortis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.






















              up vote
              0
              down vote













              I agree with all the other answers: of course the lecturer can do this, and is likely to be using Oracle to grade your work.



              I write to add: I think you should avoid Oracle extensions to or deviations from SQL, unless they greatly simplify the answer into something elegant. The specific difference I have in mind is Use standard SQL JOIN syntax, not Oracle's old WHERE based syntax. The former can express relations that the latter can not, the latter is not accepted by other RDBMSes, and I can't believe your lecturer would be using a version of Oracle so old it didn't also take the SQL standard syntax.






              share|improve this answer

























                up vote
                0
                down vote













                I agree with all the other answers: of course the lecturer can do this, and is likely to be using Oracle to grade your work.



                I write to add: I think you should avoid Oracle extensions to or deviations from SQL, unless they greatly simplify the answer into something elegant. The specific difference I have in mind is Use standard SQL JOIN syntax, not Oracle's old WHERE based syntax. The former can express relations that the latter can not, the latter is not accepted by other RDBMSes, and I can't believe your lecturer would be using a version of Oracle so old it didn't also take the SQL standard syntax.






                share|improve this answer























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  I agree with all the other answers: of course the lecturer can do this, and is likely to be using Oracle to grade your work.



                  I write to add: I think you should avoid Oracle extensions to or deviations from SQL, unless they greatly simplify the answer into something elegant. The specific difference I have in mind is Use standard SQL JOIN syntax, not Oracle's old WHERE based syntax. The former can express relations that the latter can not, the latter is not accepted by other RDBMSes, and I can't believe your lecturer would be using a version of Oracle so old it didn't also take the SQL standard syntax.






                  share|improve this answer












                  I agree with all the other answers: of course the lecturer can do this, and is likely to be using Oracle to grade your work.



                  I write to add: I think you should avoid Oracle extensions to or deviations from SQL, unless they greatly simplify the answer into something elegant. The specific difference I have in mind is Use standard SQL JOIN syntax, not Oracle's old WHERE based syntax. The former can express relations that the latter can not, the latter is not accepted by other RDBMSes, and I can't believe your lecturer would be using a version of Oracle so old it didn't also take the SQL standard syntax.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Oct 31 at 22:20









                  Andrew Lazarus

                  20525




                  20525

















                      protected by Community Oct 26 at 11:46



                      Thank you for your interest in this question.
                      Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                      Would you like to answer one of these unanswered questions instead?



                      這個網誌中的熱門文章

                      Tangent Lines Diagram Along Smooth Curve

                      Yusuf al-Mu'taman ibn Hud

                      Zucchini