Preview

Algorithmic Thinking

Powerful Essays
Open Document
Open Document
3659 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
Algorithmic Thinking
Algorithmic Thinking: The Key for Understanding Computer Science
Gerald Futschek
Vienna University of Technology Institute of Software Technology and Interactive Systems Favoritenstrasse 9, 1040 Vienna, Austria futschek@ifs.tuwien.ac.at

Abstract. We show that algorithmic thinking is a key ability in informatics that can be developed independently from learning programming. For this purpose we use problems that are not easy to solve but have an easily understandable problem definition. A proper visualization of these problems can help to understand the basic concepts connected with algorithms: correctness, termination, efficiency, determinism, parallelism, etc. The presented examples were used by the author in a pre-university course, they may also be used in secondary schools to help understanding some concepts of computer science.

1

Introduction

In autumn 2005 the Faculty of Informatics at the Vienna University of Technology started to offer a pre-university course [1] (propaedeutic course), similar to other universities, e.g. [2], for all applicants who intended to start one of the bachelor studies in Informatics. This course addresses all beginners and has many-fold reasons: 1. 2. 3. 4. 5. Lack of pre-knowledge, what is Informatics after all Lack of pre-knowledge, how computers work Lack of pre-knowledge about algorithms Lack of pre-knowledge about programming Lack of sufficient knowledge in mathematics

These facts were observed by our lecturers and were confirmed by a survey of our beginners. Although these topics are part of the secondary school curriculum and should be known by all students passing secondary school, most of our beginners have not enough skills and pre-knowledge that is necessary to start a university study in Computer Science. The consequences were a very high drop out rate during the first study year and a low success rate in the topics Programming and Algorithms & Data Structures. The pre-university course should overcome



References: 1. Propädeutikum in Informatik (prolog), Lessons held at Vienna University of Technology: www.informatik.tuwien.ac.at/prolog 2. Loidl, S., Mühlbacher, J, Schauer, H.: Preparatory Knowledge: Propaedeutic in Informatics. In Mittermeir, R.T. (ed.): From Computer Literacy to Informatics Fundamentals. Lecture Notes in Computer Science, Vol. 3422. Springer-Verlag, Berlin Heidelberg New York (2005) 104-115 3. Snyder, L. Interview by F. Olsen "Computer Scientist Says all Students Should Learn to Think 'Algorithmically '," The Chronicle of Higher Education, May 5, 2000: http://chronicle.com/free/2000/03/2000032201t.htm/ 4. Mudner, T., Shakshuki, E.: A new Approach to Learning Algorithms. In Proceedings of International Conference on Information Technology: Coding and Computing. (2004) 141-145

You May Also Find These Documents Helpful

  • Powerful Essays

    EAS230Syllabus

    • 1748 Words
    • 8 Pages

    An introduction to computer programming with an emphasis on problem solving will be presented. Specific topics include:…

    • 1748 Words
    • 8 Pages
    Powerful Essays
  • Better Essays

    References: Rainer, R. K. & Cegielski, C. G. (2011). Introduction to information systems: Supporting and…

    • 959 Words
    • 4 Pages
    Better Essays
  • Good Essays

    The author adds how a refugee from an undeveloped country was haggard so strongly to computer science. The helplessness he had felt in a childhood where others determined his…

    • 526 Words
    • 2 Pages
    Good Essays
  • Better Essays

    Confrontation Clause Essay

    • 1191 Words
    • 5 Pages

    There are three ways that actually help the defendant from being wrongly accused and gives…

    • 1191 Words
    • 5 Pages
    Better Essays
  • Satisfactory Essays

    Effective communication within health and social care environments is crucial in order to ensure that care is being given and is meeting the needs of individuals. Through effective communication, an effective relationship can develop. This will help with the care process and will give workers and patients a good rapport, therefore enhancing their relationship. Care settings have been adapted to meet the needs of different people, this includes people who speak different languages, those with disabilities, those who find it hard to communicate and those who have limited speaking and understanding skills. Ways in which health provision has overcome these barriers are by learning new languages, and learning how to lip read and sign language.…

    • 115 Words
    • 1 Page
    Satisfactory Essays
  • Good Essays

    Personal Career Goals

    • 783 Words
    • 4 Pages

    Computer technology has gone from being undiscovered to being used globally. We live in an exciting time technologically. Over relatively short spans of time, technology has improved our lives in many ways. Advances in computing and technology save lives, make day-to-day living easier, and have improved quality of life for billions of people. The impact that computing has on the world is fascinating to me. I have spent the last few years studying programming, software development, and computer programming and have felt great satisfaction in learning about what makes up this computing technology.…

    • 783 Words
    • 4 Pages
    Good Essays
  • Good Essays

    Information Security

    • 15937 Words
    • 64 Pages

    Yair Levy and Timothy J. Ellis Graduate School of Computer and Information Sciences, Nova Southeastern University, Florida, USA…

    • 15937 Words
    • 64 Pages
    Good Essays
  • Powerful Essays

    GMD - German National Research Center for Information Technology Schloss Birlinghoven, Sankt-Augustin, D-53754 Germany gennady.andrienko@gmd.de http://allanon.gmd.de/and/…

    • 3691 Words
    • 15 Pages
    Powerful Essays
  • Powerful Essays

    – for each variable xi , a finite set Di of possible values (its domain),…

    • 4030 Words
    • 17 Pages
    Powerful Essays
  • Good Essays

    “Can Machines Think?” – This question proposed by Alan Turing has significantly advanced the field of computer science. Imagine his joy if he’d be able to witness the IBM’s Deep Blue beating the world champion chess player Gary Kasparov. My academic experiences during my undergraduate degree have made me crave to know more, learn more. Amongst all the subjects studied, it was Artificial Intelligence and Knowledge Discovery that truly piqued my interest for graduate studies. My interest in the field, combined with my zeal to really comprehend the fundamental concepts helped me score well in my academics. The courses I studied, namely Data Structures and Algorithms, Design and Analysis of Algorithms, Discrete Mathematics,…

    • 764 Words
    • 4 Pages
    Good Essays
  • Powerful Essays

    Read: Course syllabus and Chapter 1 in CLR (Cormen, Leiserson, and Rivest). What is algorithm design? Our text defines an algorithm to be any well-defined computational procedure that takes some values as input and produces some values as output. Like a cooking recipe, an algorithm provides a step-by-step method for solving a computational problem. A good understanding of algorithms is essential for a good understanding of the most basic element of computer science: programming. Unlike a program, an algorithm is a mathematical entity, which is independent of a specific programming language, machine, or compiler. Thus, in some sense, algorithm design is all about the mathematical theory behind the design of good programs. Why study algorithm design? There are many facets to good program design. Good algorithm design is one of them (and an important one). To be really complete algorithm designer, it is important to be aware of programming and machine issues as well. In any important programming project there are two major types of issues, macro issues and micro issues. Macro issues involve elements such as how does one coordinate the efforts of many programmers working on a single piece of software, and how does one establish that a complex programming system satisfies its various requirements. These macro issues are the primary subject of courses on software engineering. A great deal of the programming effort on most complex software systems consists of elements whose programming is fairly mundane (input and output, data conversion, error checking, report generation). However, there is often a small critical portion of the software, which may involve only tens to hundreds of lines of code, but where the great majority of computational time is spent. (Or as the old adage goes: 80% of the execution time takes place in 20% of the code.) The…

    • 38454 Words
    • 154 Pages
    Powerful Essays
  • Powerful Essays

    mr nasir david

    • 2294 Words
    • 10 Pages

    these times are subject to change at short notice. Ensure to verify before each lecture.)…

    • 2294 Words
    • 10 Pages
    Powerful Essays
  • Satisfactory Essays

    Mobile Music Touch

    • 1137 Words
    • 5 Pages

    Kevin Huang, Thad Starner, Ellen Do, and Gil Weinberg GVU Center and School of Interactive Computing Georgia Tech Atlanta, GA 30332 kevinhh,thad,ellendo,gilw@gatech.edu…

    • 1137 Words
    • 5 Pages
    Satisfactory Essays
  • Good Essays

    Problem Solving

    • 1251 Words
    • 6 Pages

    We are faced with different types of problems in our everyday life. Every problem requires a solution to resolve it. There maybe more than one solution to a problem.…

    • 1251 Words
    • 6 Pages
    Good Essays
  • Powerful Essays

    Software Crisis

    • 17624 Words
    • 71 Pages

    artificial intelligence and software engineering), J. Mostow, guest ed., Vol. 11, No. 11, Nov. 1985, pp. 1257-1267. Computer (special issue on visual programming), R . B . Graphton and T. Ichikawa, guest eds., Vol. 18, No. 8, Aug. 1985. G. Raeder, " A Survey o f Current Graphical Programming Techniques," Computer (special issue on visual programming), R.B. Graphton and T. Ichikawa, guest eds., Vol. 18, No. 8, Aug. 1985, pp. 11-25. HP. Brooks, The Mythical Man-Month, 1975, Addison-Wesley, Reading, Mass., New York, Chapter 14. Defense Science Board, Report of the Task Force on Military Software, in press. H.D. Mills, "Top-Down Programming in Large Systems," in Debugging Techniques in Large Systems, R. Ruskin, ed., Prentice-Hall, Englewood Cliffs, N.J., 1971. B.W. Boehm, " A Spiral Model of Software Development and Enhancem e n t , " 1985, TRW t e c h . report 21-371-85, TRW, Inc., 1 Space Park, Redondo Beach, CA 90278. H. Sackman, W.J. Erikson, and E.E. Grant, * 'Exploratory Experimental Studies Comparing Online and Offline Programming Performance," CACM, Vol. 11, No. 1, Jan. 1968, pp. 3-11.…

    • 17624 Words
    • 71 Pages
    Powerful Essays

Related Topics