Tuesday, October 25, 2016




UCSB Freshman Seminar “What is computing?”, Fall 2016

Some questions posted by the class after Lecture 4, October 18, 2016

  • How can you know if your algorithm is efficient?
  • The question is that I've heard that merge sort needs the use of recursion in programming, is it always trying to compare two already sorted lists and write it as a recursion?
  • Could a computer write its own algorithms in its own language? Why does it need a natural language from humans to know what to do? Or, conversely, could it be taught the computer language and use it to create programs for itself (learn it just how, say, Watson could learn things)
  • What is Big-O notation?
  •  How do you prove that merging requires the fewest steps?
  • How do computers sort through different programs?
  • How does a programmer decide how to design and implement his or her algorithm (e.g., divide and conquer, brute force, etc.)?
  • Are people still programming new algorithms even though they have been designed and used for hundreds of years?
  • How exactly are the efficiencies of algorithms measured or calculated?
  • Hypothetically speaking, can algorithms be applied to all situations? In the sense, like solving problems in  the medical field, diagnosis? What are the real world applications of algorithms?
  • How do programers tell the computers to do the algorithms?
  • Is it possible to design computer that generate their own algorithms, speeding up the process exponentially.
  • Are there any computers that don't use binary, or is binary universally used?
  • What other sorting methods are there and what sorting methods are optimal for different specific tasks?
  • What are the trade-offs are "more desirable" programs?

 

No comments:

Post a Comment