Hi Selvakumar, First of all, thank you for discussing this issue. As you have listed, you have done Principles of Programming Languages and Theory of Computation courses(two of the computer science core courses I had mentioned) . Graph Theory, probably as Arun says, is not in the CEG syllabus today. But anyway, Graph theory, though relevant in connection to some other courses like Networks, cannot be considered a core computer science theory subject, and I was not talking about it. I am only talking about core courses when I say "computer science courses", so I think we can safely ignore electives and system courses in this discussion for now. I will anyway mention electives below, and comment on a very relevant point that you have mentioned in relation to this.
I also did a Principles of Programming Languages course in B.E, so I want to ask you something: In your "Principles of Programming Languages" course, what all topics did you learn? I am asking this because the name of the course can be sometimes misleading. The point I am trying to make is that in the Principles of Programming Languages course that I did, I did not learn much of the theoretical concepts underlying programming, and I saw the same kind of syllabus in many engineering college syllabus listings. For instance, I was not made aware of the theory behind object-oriented and functional programming and lambda calculus. I was simply taught Java! And a similar kind of syllabus seems to be the case in most colleges. And I don't see Complexity theory among your list of courses. That is a pre-requisite for Design of Algorithms, which you have done. What about Logic? Logic is a very important core subject and by that, I don't mean the "logic" that is taught as part of the Discrete Mathematics course. And speaking of Discrete Mathematics, there is a topic called recursion that comes in it, and it is the most inappropriate place to have that topic. Recursion(not the recursion used in programming) is only understandable through learning Logic. I never said Engineering Maths was not taught in colleges, but in any case, Engineering mathematics does not play any role in learning the subjects that I am talking about. If anything, Discrete Mathematics is more relevant. And as Arun says, most engineering colleges don't even have the concept of electives, and, if at all they offer electives, very few subjects will be offered. And definitely advanced theory courses such as Automata and Concurrency, Algebraic automata theory, Advanced Complexity theory are not at all offered, even in CEG. How can the framed syllabus, with all these gaping holes, even with very good teachers, prove useful for teaching subjects non-existent in it? The role of faculty is indeed important. A good syllabus with a bad faculty is of no use. From what I have seen and experienced, I wouldn't say that the faculty teaching theory in engineering colleges does a good job, which is why Theory of Computation, though it is in the syllabus, is not being effectively imparted to students in many colleges. But then, same is the case with an incomplete syllabus and good teachers. With a complete syllabus, at least students will be aware that such a subject exists! All I am stressing is that in the current syllabus in Anna University-controlled engineering colleges, computer science is not given the importance it requires and any engineer who does not know the science underlying his field of expertise is, strictly speaking, not a true engineer. After all, isn't engineering an application of known scientific principles? Vinod. 2009/8/8 Selvakumar Rajeswaran <[email protected]> > > (Note: this mail is in reply to Vinod Parthasarathy's which is below, but > I've changed the subject line to be more relevant) > > For ur kind information Vinod, > > When I studied BE (CSE) at College of Engg. Guindy, Anna Univ main campus > Chennai, > > I did following core subjects in my BE: > > 1) Principles of Programming Languages (i dont know how many colleges has > this paper today). > 2) Design of Algorithms. > 3) Theory of Computation. > 4) Operating Systems > 5) Compiler Design > 6) Graph Theory (i dont know whether this paper is also present today) > > Apart from core papers I had opportunity to do the following thro > electives: > > 1) Advanced Operating System - Unix internals case study (this is where I > formally entered into UNIX / LINUX world) > 2) Distributed Systems > 3) OOAD (followed the text book of Grady Booch) > 4) Reconfigurable Computing - VHDL programming & Xilinx architectures. > > I think the above papers cane be decently learnt in 4 years of course > duration. > > Apart from all the above I put emphasis on the following aspects: > > 1) Almost all engg disciplines are taught "Engineering Maths" paper till > 5th semester. So, I think that is prettly much enough to grab & understand > any higher or complex concepts. That is the reason they teach Maths. > > 2) Having choice based credit system to do whatever u would like to learn. > This is really usefull for subjects which cannot be brought under regular > stream of 4 yrs. My college had such a system & we had opportunity to use > it. > I did total of 12 electives against the university stipulated minimum of 8 > electives. > > In a real choice based credit system no one will Q'n u if u go & do a paper > in mech disciplin or even leather technology as long as it interests u & > relevant to u. > > My view point is syllabus framers have done their best to make it robust. > So, if atleast the framed syllabus is delivered to the student at its best > (here i mention the role of faculty & their efficacy), then thats fine. > > Thanks, > Selvakumar. > > ----- Original Message ---- > From: Vinod Parthasarathy <[email protected]> > To: ILUG-C <[email protected]> > Sent: Saturday, August 8, 2009 12:05:00 PM > Subject: Re: [Ilugc] anna univ affliated curriculum does not allow to do > 5th sem proje in OpenSource, need help > > Hi, > > I joined the ILUGC mailing list recently. This is my first email to ILUGC. > > Since we are on the topic of syllabus, let me mention one important point > that I have not seen mentioned so far in engineering circles. > > I have seen the syllabus of many engineering colleges that come under Anna > University, and in all of them, I see that Computer Science subjects are > not > included in the syllabus. In other words, engineering colleges don't teach > Computer Science and Engineering, as they claim to, but only teach Computer > Engineering. While in other engineering disciplines, as far as I am aware, > the basic science needed is taught, starting from schools, the same is > sadly > not the case in Computer Science. > > Of course, the subject, theory of computation alone is being included as > one > of the subjects taught in B.E(this was not the case in the colleges where I > did my B.E. and M.E., but it seems things have improved, though only > slightly), but Theory of Computation alone is not Computer Science. It is > just the tip of the iceberg. Theory of Computation itself needs to be > imparted as a two-semester course as there is too much material that cannot > be covered in one semester. But that, as far as I know, is not the case. > Then there are other courses such as Logic, Algebraic Automata theory, > Complexity theory, Programming Language Concepts(stuff such as explaining > the roots of programming languages, the different paradigms and formalisms > that govern the architecture of various programming languages) that form > what is generally known as Computer Science. > > Learning Computer Engineering without learning Computer Science is like > learning, say, Mechanical Engineering without knowing/understanding > Newton's > laws of motion. I have seen students struggle through subjects such as > Compiler Design since they had no idea of the essence behind formalisms > such > as Regular languages, Context-free languages etc, as a consequence of which > Compiler Design has come to be considered as a very tough subject. Of > course, I am not saying that Compiler Design is very easy to learn, but it > can be made easier than it is now by making the students aware of the > theoretical concepts behind the subject first. Algorithms is another > example > where Complexity theory is a pre-requisite. Logic is a pre-requisite for > Artificial Intelligence. And learning any programming language is > incomplete > without a knowledge of the concepts behind it. > > While, as Shakthi Kannan said, syllabus is only a guideline, syllabus > should > also play a part in making computer science and engineering students aware > of the various branches of Computer Science and the truth that Computer > Science and Engineering is not all about programming design/implementation > and software engineering, but that a whole lot of scientific principles go > into it needs to be conveyed to all Computer Science and Engineering > students in an effective manner. > > Vinod. > > 2009/8/8 Shakthi Kannan <[email protected]> > > > Hi, > > > > --- On Sat, Aug 8, 2009 at 12:39 AM, pavithran<[email protected]> > > wrote: > > | I am not sure if we could say that the syllabus is ok though I agree > > | that a student could definitely make a lot of the current syllabus. > > \-- > > > > That is where most people have the wrong conception, IMO. A syllabus > > is only a guideline, and a "student" is expected to venture into > > gaining more knowledge beyond what is prescribed, and this is the > > single most important aspect that a "student" must fulfill in > > "education". > > > > Degree, job, awards, friendships are all side-effects. > > > > --- > > | It > > | definitely needs to be revised and improved according to industry > > | changes and should be vendor neutral > > \-- > > > > That is contradictory. > > > > One should always follow free/open standards. > > > > SK > > > > -- > > Shakthi Kannan > > http://www.shakthimaan.com > > _______________________________________________ > > To unsubscribe, email [email protected] with > > "unsubscribe <password> <address>" > > in the subject or body of the message. > > http://www.ae.iitm.ac.in/mailman/listinfo/ilugc > > > _______________________________________________ > To unsubscribe, email [email protected] with > "unsubscribe <password> <address>" > in the subject or body of the message. > http://www.ae.iitm.ac.in/mailman/listinfo/ilugc > > > > > _______________________________________________ > To unsubscribe, email [email protected] with > "unsubscribe <password> <address>" > in the subject or body of the message. > http://www.ae.iitm.ac.in/mailman/listinfo/ilugc > _______________________________________________ To unsubscribe, email [email protected] with "unsubscribe <password> <address>" in the subject or body of the message. http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
