Tuesday, September 21, 2010

Algorithms to Abstractions

Hi:

In last two classes we have talked about various topics related to computer science and engineering: Algorithms (a precise step-by-step description of how to solve a problem in finite time (i.e. the algorithm execution terminates as well as solves the problem)); Linear search and Binary Search with associated worst case computational complexity; and Computer Architecture as an abstraction/interface between hardware and software; Processor Performance Equation (Execution Time = Instruction Count*Clock Cycle Per Instruction*Clock Cycle Time) and how it highlights the role of Computer Scientists and Engineers; The importance of exploiting parallelism along with associated complexity (e.g. need to be careful to avoid race conditions); The role of Compilers and Operating systems; as well as the importance of layers of abstractions (hardware, operating systems, programming environments etc.)  in computer science and engineering.

There are Wikipedia pages which you can visit to get more information about any of these topics. Specifically, I would like you to visit the Binary search Wikipedia page and answer the following questions:

1) Even though binary search has far better worst case complexity than linear search (log(N) versus N) why in practice linear search may perform better than binary search?
2) Why the best search algorithm may employ a combination of binary search and linear search?

Also visit the page on CPU and try to explain in your words what is the difference between instruction level parallelism, thread level parallelism and data level parallelism. Give examples of where (in what devices) and for what purpose (in which applications) you might be using these different forms of parallelisms.

And finally, explain in your words what are the characteristics of a good abstraction in computing?

Regards,
Sandeep

Monday, September 13, 2010

Leadership in Engineering

Hi,

In your words, state what you understand by leadership in engineering.
What characteristics would a leader in engineering possess?
Do you know of any engineer who possess these characteristics? Please explain.

Regards,
Sandeep

Thursday, September 2, 2010

Link to Andy Grove's article on job scaling problem in US

Hi,

Here is the link to the article by Andy Group, co-founder of Intel Corp. which I mentioned in the class yesterday:

http://www.bloomberg.com/news/2010-07-01/how-to-make-an-american-job-before-it-s-too-late-andy-grove.html

Please comment.

Regards,
Sandeep

Blog on current Engg/CSE challenges and need for innovative solutions

Hi,

In last two classes you have been introduced to various problems such as energy scarcity, poor/expensive healthcare and failing transportation infrastructure we in the US as well as people in less fortunate countries around the world are currently facing. We have also seen some examples about how innovative thinking (taking a fresh approach) can potentially transform the world for the better.

As a budding Computer Scientist and/or Engineer which of these (or any other) challenge(s) you feel motivated to address in your career. Provide some insights into the reasons for your motivation as well as how your University education in general and CSE education in particular can potentially help you in your quest to make our world a better place.

What innovative approach you plan to take or in general we as an engineering community need to take? Elaborate on any major hurdles/pitfalls you foresee.

Also, mention any important aspects of your education/up bringing so far which you think will be most helpful in your engineering quests in future.

Regards,
Sandeep