Algorithm and Ambiguity Upsorn Praphamontripong CS 1110 Introduction to Programming Spring 2017
Computing Software Hardware Operating system review Computing Software Hardware Software enabling users to interact with hardware to perform some tasks Written in programming languages Device Operating system Software allowing other software to interact with hardware Art of problem solving how to come up with solution how to know if solution will work Programming skill how to automate solution CS 1110-002
Software Development Life Cycle Formal and informal Functional and Non-functional Specification Notation Requirements Design Step-by-steps Algorithm Maintenance Coding Deployment Implementation Deliverable Syntax error Semantic error Logical error Testing When to stop? Is the program good enough? CS 1110-002
Programming Languages CS 1110-002
Algorithms Algorithm Pseudocode A step by step, list of instructions that if followed exactly will solve the problem under consideration. Pseudocode An informal description of an algorithm (in English language) which can easily translate into a high-level language (like Python). Always think about a general solution then write it in a programming language so the computer can do it. CS 1110-002
Algorithms The algorithm described in pseudocode must be Unambiguous There are precise instructions for what to do at each step and where to go next. Executable Each step can be carried out in practice. Terminating It will eventually come to an end. CS 1110-002