Jump to content
xisto Community

Jose Manuel

Members
  • Content Count

    14
  • Joined

  • Last visited

Posts posted by Jose Manuel


  1. Hi again, now I ask you about final examinations...I started as a professor almost 7 years ago... I began with practices in computer lab. We did simulations on digital circuits and things like that. Usually, we proposed from 7 to 9 different practices to our 160 students. I admitted the practices to be done by groups upto three persons. Obviously, the aggroupation reduced the total amount of practices to be check to 1/3 (that's about 50 groups x 8 practices = 400 documents/simulations!!!!) That was almost impossible to follow and after one year I noticed when the "difficult" practices started, there were just 10 diferent ones, all of the rest were simple copies!!! And even, some students told me that they have too many practices for every subject in the course... In 1st course, they usually take 14 subjects...Then one year I decided to make a final examination... students could go to the lessons or not, I didn't check their presence. At the end of the semester they were asked to make a digital design and a simulation on the computer within 2:30 hours. People who were able to solve the problem, pass the lab practices. Just one day for me, and much more free time along the semester for them to take other subjects and distribute properly their time.As an experience and conclusion, the amount of people who passes the lab practices before the examination dropped drastically (before, 80% passes; after the examination dropped to 20%) But I think it is worth... for me and also for the students.Sometimes, the best solution is a "traditional" examination instead of works, documents, etc. What do you think?


  2. I started programming Assembler back in 94 or 95 using TASM (the Borland assembler, quite similar to the Microsoft's MASM). I was comfortable with that configuration. Later I began to embed code with the Borland C assembler, that was easy, but it was difficult to make some complex tasks... And then I had to switch to Linux... hummm, there were no Borland C nor TASM oh! What to do! Fortunately, gcc provided a much better C compiler (the Borland C was completely surpassed!) but it was hard for me to get used to the assembler included: GAS. It uses the AT&T mode for writing assembler... but it was hard!

    For some time I didn't need assembler, so I forgot some of my skills about AT&T. However, when I started my Ph.D. one of my professors asked me to optimize some common algorithms using MMX. Thus I had to go back to the old days that I used AT&T assembler embedded in gcc. After that, I have made comparisons using both AT&T and Intel, and also Intel Intrinsics (a C library which allows to use assembler functions directly in C). I have found that gcc + AT&T is the fastest of the three options... so I have no doubts, I will use gcc + AT&T, rather than Intel C Compiler + Intel Assembler or Intel Intrinsics.

     

    Have you found the same difficulties as me? Tell us your experiences...


  3. Not sure if I understood you, but I don't mean that CS engineers are not allowed to program or to engange with Hardware. They MUST know programming methodology and Hardware, among many other things! First of all, we are engineers so we are completely capable of going down to the facts and working the items with "our hands"... But that's not really our job!

    yes i can repair computers but i do not master that one.. it is enough for me to design a circuit board having skill to repair the most common problems that does not require pulling out small electrical parts from the mother board. that part is the job of the technician..


    I am assistant professor of Computer Architecture, and I don't master computer reparation! But I have the knowledge to become an expert :unsure:

    As the architect, he is knowledgable on how to put the bricks.. but he dont need to put the bricks in position.. it is the brick layers specialty.. it will be also slow letting an architect put the bricks together..


    As you said, an architect knows how to put the bricks, but he does not do that job. In fact, I think we should take the position of the surgeon, which takes the control of any surgery when the specialized part he masters is needed.

    on my side, since new hardware needs newer drivers and programming.. if we are not allowed to touched the software parts of hadwares.. or like.. how can we explain to the hardware programmer what to do and what should be done.. those programmers needs a clear idea on what we need to make the new piece of hardware work..


    Why can't we get involved with new hardware???? In fact, I claim THAT'S really OUR part of the job. The rest of the program is not needed to be done by us... any junior programming could do it!

    just like the ones in your post. people on your course must be teach the general programming skillz.. specialization is not needed.. it is the programmers job.. well unless you want to challenge youself!..


    I disagree completely with you: in fact I feel that what we really need is specialized programming (database experts, assembler programming experts, graphic experts, etc.)

  4. About the computer science engineers, it is a little new for me since this is the first time i heard that this exist. no offense bout that since i was just preoccupied in my self studies.


    Well, it is a translation of the name of the graduate diploma of the Computer Sciences Engineering in my home country. Maybe I translated it wrong... I apologize.

    As a computer engineer, I can design new system boards and logics.. but what the heck.. i was not allowed to repair broken computers nor program new systems. I cant find it logical for my job to be devoided of that simple task. How can I know the system flow much more accurately if i cant program nor even touch the hardware..


    Can't you repair broken computers??? In my home country, Spain, anyone is able to do so... (at least, as long as I know... I might be wrong)

    I can understand completely what you mean, because I am a professor of Computer Architecture, Digital Systems and Hardware in general... We are trying to make the students to understand exactly what you explain.

    on my opinion, you must have the skills and potentials of general programming.. how can you perform your job if you are not skilled about that field.. just my few cents..


    I think just the same way an architect is able to build up a whole building without putting bricks :unsure: I mean there should exist "plain" programmers, dedicated just to program good quality codes; the same way there exists "bricklayers", devoted just to build up walls.

  5. Hi there, I would like to start a topic, which probably would be controversial, about whether the Computer Sciences Engineers (I mean at the University) should be taught to program or not. This is a fact that has been around inside my mind for long time.I think CS-Engs. should have knowledge about general programming methodology, but we (yes, I am a CS-Eng.) are not supposed to be just programmers... we are data/system/program analysts, designers, etc. I just cannot imagine an Architect in a building work, preparing the concrete mixture and putting the tiles, etc. The architect just make the calculations for building up the building, and drawing the plannings, etc. We all agree, it would be shooking to meet an architect working as a plain "bricklayer". Or imaging a neurosurgeon, he/she studied for almost 10 years, she wouldn't allow to work giving insuline injections... If we ask her she would tell us: "That would be a waste of money and years! I haven't studied neurosurgery to give insuline injections!"However, it is rather strange to meet a CS-Eng. who does not program, specially a young just graduated CS-Eng. Why??? I feel we are denigrating our own job. We shouldn't be contracted to do so...What do you think?


  6. As far as I know, there are not many OSes completely written just in Assembler, most of the OSes have the the kernel (and even, not all the kernel, but just some of the functions) written in ASM. One of the reasons is to take control over the CPU and the machine, sometimes C/C++ just do not provide statements to do so, or they just take "too" long (several millisecs!!!) because of the function callings, etc. For example, if you want to control cache, you'll probably prefer to take control of it directly with ASM. Or if you have to take control of the MMX/SSE resources (I don't guess for what... but who knows! :unsure: ) you can just access them using ASM or with the Intel Intrinsics library... I just cannot imagine an OS which is dependent not only on an architecture but also on a proprietary library...Another differente question is why isn't so common to embed Assembler code in C/C++ code... I prefer this option, however, "puritans of the Assembler" prefer to write the functions completely in ASM... not sure why they prefer to take control of the arguments, initializations of the variables, etc. For me, C/C++ just do a great work with those items.


  7. Thanks for a so interesting and respetcful answer/opinion.I think in the Catholic church there existed a pair of key points in the history: one of them was tenebrous, the Trento counsil in the XVIth century, which, in my humble opinion, meant a step backward... while the Vatican II counsil in mid XXth century which meant the reunification of the church, the clergy and the old/traditional customs with the real people and the time of the history. Now, priests, monks, and even bishops are more tractable by the plain lay members. I have drink a beer with a priest talking about politics, and a bishop told a joke to me. I think the "new" Catholic chuch that appeared after Vatican II counsil was closer to the believer. They have relaxed their pretention of "infallibility", they only affirm to be infallible in matters of religion and faith affairs, but they don't affirm so in terms of morality or science... I think that is a step forward fact.


  8. Don't worry about students dropping off from those beginning classes. Like jeigh said, it always happened. If those students are interested in Computer Science, then I guess they have to take those courses anyway. Those courses are mandatory, right? I'm not a graduate from Spain.


    Some courses are mandatory, others are optional. Even the courses are mandatory, I do not check whether the students come or not, I don't like to feel that I am a jailer!!! If the students feel they don't need me to teach them, they don't need to come to my lessons. I will check if they have acquired the mandatory topics of the subject in the final tests/examinations/etc.

    Of course, as mentioned in earlier posts, it is hard to make a connection to the real world problems in introductory courses. My view on this is that a CS degree teaches much more stuff than what a student might be interested in. If a student just like software application programming, those hardware stuff would quite likely bored him/her. It definitely bores me. Hehe.... :(


    Well, that's an interesting point of view, but I think it is a bit narrow-minded... because no one knows in which job/company would you work in the future. Just let me explain my experience, during my CS I tried to get specialization in AI. When I finished my grade, I bI liked egan to work in a programming company and I noticed that I don't like so much programming as I supposed. I started my Ph.D. and they suggested me to do it in Computer Architecture Department, and now I like these topics very much, who would have told me this when I was a student! :-D

    So, i guess the approach that I would suggest is to talk to a few former students of the course, possibly those with better grades. Ask them what they like in the course, their dislikes and more importantly, what approach they would like to be introduced. It would be good to do this face to face. My experience tells me that A students get their A's because they are more determined/disciplined. If they found some parts ultra boring or need better explanation/connection, then i would say quite a lot of students would feel the same too.


    Humm, nice idea! I will ask some students about those points you mention... THANKS! :-)

  9. Humm, I see...I asked this same question to some of my students, and many of them agreed with your comment. They prefer the courses that have a connection to the "real world", or at least with something they would work in the future (for example, robots as you said). And that's quite easy in optional/specialized courses, but I just cannot guess how to do that in basic courses. For example, Digital Systems is a subject taught in the first year of CS degree. It is about logical operators, how to mixed them in order to produce logical systems, then how to produce arithmetical systems, etc. I can see the progression of it and how tools are shown to produce bigger and more complex systems. These systems are actually the ones we have inside our CPUs (connection to the real world)! However, my students do not "see" that approach at the beginning (most of them just quit the course when I am teaching Karnaugh maps to produce logical expressions! That's taught during the 2nd week!!!) and, thus, they don't follow the course.Well, I must say in Spain we have OVERCROWED classrooms. Last term, I taught in a classroom with 160 students! I think with just 20 students I would be able to make it much more comfortable and friendly, and probably I could follow whether the lessons are being interesting or not.


  10. Hi there, I'm a professor at the University. I would like to open a thread about this topic: New Experiences and Methodologies to teach Computer Sciences. I am professor of several courses: Digital Systems, Computer Architecture, Assembler Languages and CPUs, Real-Time OS, and Parallel and Distributed Systems. I feel that my students are not very pleased with these subjects because they feel "they are not about programming", and sometimes it is very hard to involve students in the teaching, thus I would like ideas on how to teach those courses (or others, I don't mind, I will try to "translate" those suggestions to my field of interest). I would like you all share with me how to make my courses to be more attractive to my students, obviously, without reducing the amount and quality of the learning of the topics of these courses.I have used "Moodle" system (not sure if you have used it), it is "somewhat" like a Wiki, but highly oriented to the teaching community. However, I feel it is just like modernize the old way of "sticking notes on the bulletin board"... and sometimes it means a lot of work (for me) for a very small prize...Suggestions? Learning experiences?PS: By the way, I am Spanish. I would be very pleased to share learning experiences with other countries' University systems.


  11. First of all, I must say I am a Catholic.I am not sure what you meant with "pros and cons" of Catholicism... "pros and cons" with respect to which other? Islamism? Budhism? Atheism?I can share with you all why I believe in Christ under the Catholic faith, but with that I do not mean my faith is "better" than any other person's, they are just my opinions, and obviously they are very argueable.I have university education, and a large culture, however I have always felt that there are some questions Science does not answer or at least does not answer completely my doubts. Obviously, most of them are about life after death, but there are also many of them about morality and things like that.Catholicism answered many questions I had, it gave to me a pathway on how to behave with others and also on how to behave with myself. With that I meant how to be YOURSELF with freedom, not linked to material things that tie you up and don't let you be yourself. It is the way I have found to get in touch with my soul, with the spiritual part of myself.The figure of Jesuchrist showed (and even today, shows) me how every man should behave in order to fight for a better place. I don't believe in Communism/Socialism, that is I do not share the idea of redistribution of wealth; or at least, I don't believe in a forced redistribution of wealth. But on the other side, I think we all should help everyone not to be poor. Jesuchrist showed me the path for that: Charity. But not that Charity in which rich people give money to poor people, showing them they are much better because they have money and wealth... I mean Catholic Charity: we share what we have with others, in a free manner (no one should force me to do so) and in a "peer-to-peer" behaviour (P2P rules!!! :( )There are obviously some things I don't like about Catholicism, mainly: I think women should be allowed to be priests. And also I have always noticed that "sexual sins" have always been taken to be more important than other sins (in my home country we say that there seems to be that there are no sins other than the ones of the "lower" part of the body). I think condoms should not be treated as sins and they shouldn't be taken as inmorals...Well, that's a VERY VERY brief discussion about this topic... Feel free to criticize whatever you all want...


  12. YES...
    The PalmTop uses the RTOS(REAL TIME OPERATING SYSTEMS).

    Hence that makes it an Embedded System.Even it is an shared LInUX System for the better security.



    Errr.... I am not sure it is a RTOS (are you sure the PALM OS has an scheduling system which is predictable? and does it provide a priority task scheduling??) Also, your statament "The PalmTop uses the RTOS(REAL TIME OPERATING SYSTEMS). Hence that makes it an Embedded System" is not completely true. Not every Embedded OS is a RTOS (the opposite tends to be true most of the times, but not always).

    I am not sure also PALM OS is not an Embedded System. Generically and theoretically, an Embedded OS is an specific OS (in opposition to a general purpose OS, like Linux or Windows) bounded in a closed system where no new tasks are to appear upon the execution of the system (like the controller of an Intelligent Microwave Oven or an intelligent dishwasher). However, PALM OS has many features in common with a general purpose OS (it dispatches new tasks, and that is a contradiction to an embedded system, where no new tasks should appear), thus I think PALM OS should be classified as a small General Purpose OS.

    Obviously, all these facts are argueable and they are just my point of view! Feel free to criticize them.

  13. Aside from the Palm TX, Dell makes pretty decent Axims. They will probably run you a little cheaper than a low grade laptop. But it will have all the functionality of one too. It will run a version of Windows built for PDAs.


    I am not sure if this would help you. I have a DELL Axim X51v. It works pretty fine and smooth! I bought it in an offer for just 360 euros (that's just 450 $). Its price now is 450 euros (565 US$). It has a Intel Xscale PXA-270 at 624 Mhz, Bluetooth and 802.11b. There are cheaper models (Axim X51-520 Mhz, for 314 euros (394 US$) and Axim X51-416 Mhz, for 299 euros (375 US$)).

    Enjoy your PDA!

  14. Hello all,

     

    As electrfunch stated that,

    "The idea behind realtime OS-es is to issue instructions based on a continuous feedback cycle"

    its true, not in the context that it has to do all the time, but it is designed in order to respond to events as fast as possible and nearly all of then which occur.

    Now an RTOS can be embedded into a time critial environment where feedback is critical for its operation, so it needs to respond to it, quick :(

     


    Hi there,

     

    I do not completely agree with those statements. Actually, RTOS are OSes that have a predictable behaviour (in advance, before lauching the system) in a system for a given payload, basically for that given payload all the tasks are processed "in time". With that "in time" I mean that the response is given at least before the response is useless.

     

    What this means? Let's take an example: humm, Let's suppose I have a system for deploying a canopy in response to the sunlight. The engine that deploys the canopy has a time to start of 5 secs. And the time for the total deployment of the canopy is 30 secs. My OS should make a response as soon as 35 seconds. That is the deadline time. That's not so fast! But anyone could argue that is not a critical task... ok, you're right!

     

    Let's take another system with more critical tasks: An aircraft system. In that system, many items can be taken into account: from less critical, as the air conditioning for the crew and passengers, to highly critical, as the control of the engines inflight, for example. Checking the engines is a hihh priority task with a very short time-cycle (checking is done thousand times a second), however the adjustment of the engine cannot be done so fast, because of the response of the engine (in some cases, the engine takes some seconds to response to a given input). That means that if there is a very high payload that degrades the system, some deadlines will not be reached in time. In those cases, low priority tasks are delayed; then, high priority tasks devoted to "read" sensors, if they are allowed to do so, reduce their period, or just some data are missed... for example, in the case of the checking of the engines, if the response time is several seconds, we could manage to fly checking once or twice a second (obviously with a reduction of the security, but not to a critical point).

     

    In other cases, the "fast" response is not directly connected to a short period. For example, in a photo-Satellite (that is a satellite which makes photos in a given position in a route along the Earth), we could decide to take a photo in a particular position. The satellite will be reach that position in, let's say, 24 hours: 15 minutes: 30 seconds. That's a CRITICAL deadline! It will be scheduled and many other events and tasks will ocurr between this time and that deadline...

     

    So the term "quick" is inaccurate by nature. I would use the term "just in time" or "by the deadline".


  15. Hi there,my name is Jose Manuel. I am from Spain. I work as an assistant professor at the University of Cordoba. I teach Computer Technology and Computer Architecture (among other specialized courses at the Bachelor and Master Degree of the Computer Sciences Engineering Degree).I am also a researcher, trying to obtain my Ph.D. But this is hard and TOO difficult (I have been working for it since 2000, that is for 6 years!) I research in computer vision and video and image processing. I hope next year I will get my Ph.D.!Feel free to ask me any question regarding those topics (Computer Sciences, Computer Technology, Computer Architecture, Image and Video Processing, and anything about the University in Spain).

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.