Introduction to Programming Lecture 1 – Overview Msury Mahunnah, Department of Informatics, Tallinn University of Technology
Course Overview Course : IDK1011 – Introduction to Programming Course Weight : 4.00 ECTS Credits Assessment Form : Examination Workshops: Wed at 16.00 in ICT – 404 Lectures: Fri at 10.00 in NRG – 226 Office Location : Room ICT- 639 E-mail : msury.mahunnah@ttu.ee Consultation Time : Wed at 15.00 in ICT-634
IDK1011 – Course Page https://home.ttu.ee/ – Materjalid – Msury Mahunnah – IDK1011 http://www.tud.ttu.ee/im/Msury.Mahunnah/IDK1011/
Course Assessment 4 Assignments – Check the schedule. Maximum 10 points for each assignment solution submitted in-time. Exam exercise – 60 points. Must be done in computer lab, time up to 3 hours. Results: “5” – excellent 91…100 % “4” – very good 81…90 % “3” – good 71…80 % “2” – satisfactory 61…70 % “1” – sufficient 51…60 % “0” – fail 0…50 %
The purpose of the course To develop logical, analytical and algorithmic reasoning skills and to further the ability of investigating the problems and tasks at hand, in a systematic way. To give the fundamental knowledge and the basic skills of algorithms and programming using visual programming environments
Course Topics Introducing basics of programming using novel teaching environments (Scratch). Programming environment Visual Studio. Creating visual programs. Common controls, their purpose and properties. Visual Basic language rules. Principles of structured programming – language structures, control statements. Principles of event-driven programming. Typical events. User-friendly programs. Error processing. Standard debugging tools.
Learning Outcomes Acquires the foundations of algorithm. Acquires basic knowledge of programming. Is familiar with the rules of programming language Visual Basic. Can use main debugging tools. Can use existing software components.
Terminologies The programming language is: 1. artificial language 2. created by man 3. to describe actions which must be done with computer
Terminologies The programming language is just a tool to express thought (more precisely, an algorithm that represents a solution to any problem) to the computer. So it really doesn’t matter much, what programming language you use; your choice generally depends on personal experience/ knowledge about the specific programming language.
Terminologies Programming is the process of writing instructions that the programming language uses to tell the computer what to do Programming is a creative process done by programmers to instruct a computer on how to do a task
Software Development Life Cycle (SDLC Model) A framework that describes the activities performed at each stage of a software development project.
Waterfall Model
SDLC – Waterfall Model Requirements – defines needed information, function, behaviour, performance and interfaces. Design – data structures, software architecture, interface representations, algorithmic details. Implementation – source code, database, user documentation, testing.
Features of a Waterfall Model A waterfall model is easy to follow. It can be implemented for any size project. Every stage has to be done separately at the right time so you cannot jump stages. Documentation is produced at every stage of a waterfall model allowing people to understand what has been done. Testing is done at every stage.
What is an algorithm? Algorithm is a finite sequence of steps that solves a specific problem. Let's say that you have a friend arriving at the airport, and your friend needs to get from the airport to academic hostel in TTÜ. The following are two different algorithms that you might give to your friend for getting to academic hostel.
Examples of algorithms The taxi algorithm: Go to the taxi stop. Get in a taxi. Give the driver the location address. The bus algorithm: Outside baggage claim, take airport bus. Transfer to trolley No. 3 at Vabaduse Valjak. Get off at Keemia trolley station. Cross the road Walk two blocks north to academic hostel.
Computer program algorithm There are two commonly used ways to help to document computer program logic (the algorithm) Flowcharts – small problems Pseudocodes – large problems Given a problem to write a program that reads two numbers and displays the numbers read in descending order.
Flowchart symbols
Flowchart algorithm
Pseudocode algorithm