Software Laboratory 1.

A tantárgy neve magyarul / Name of the subject in Hungarian: Szoftver Labor 1.

Last updated: 2012. április 3.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
Software Engineering
Course ID Semester Assessment Credit Tantárgyfélév
VIEEA101 1 2/0/0/f 2 3/1
3. Course coordinator and department Dr. Czirkos Zoltán,
4. Instructors Zsolt Kohári
5. Required knowledge -
6. Pre-requisites
Kötelező:
TárgyEredmény( "BMEVIEEA100" , "jegy" , _ ) >= 2
ÉS Training.Code=("5N-A8")
VAGY KépzésLétezik("5N-MGAIN")

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
-
7. Objectives, learning outcomes and obtained knowledge The main objective of the course is to give the students an opportunity to put their theoretical knowledge obtained in the lectures into practice, in order to provide students with appropriate skills in computerized problem-solving and basic use of tools that are required during their further studies. The classes are completed with a long-term individual homework assignment to help improve the students' skills.

 

8. Synopsis First week Introduction to the computer lab, to the system, and to the structure of the university network. Operating System basics: command line program can be started from the command line, its parameters.

Second week

Introduction of an Integrated Development Environment. Compilation of simple programs. Basics of debugging, monitoring the assignment to variables. Editing the program source and compilation. The compiler error messages.

Third week

Coding simple algorithms from a Pseudo code / structogram representation. Programs with simple I/O. printf, scanf, format strings.

4th week

Exercise simple algorithms. Nested loops. Multiplication table, 'draw' a rectangle. Programming of known algorithms (eg, prime, gcd). Find my Number (guess, smaller, bigger).

5th week

The basics of array handling. Creating arrays. Search, count the number of pairs in it, etc.. Demonstration of out-of-range indexing of an array.

6th week

Bit functions. Dump number in binary form. Bit-pattern generation, c = set(c, 5). Effect of overflow. Determination of the bits of an integer. Demonstration of floating point inaccuracy.

7th week

Built-in string processing functions. Handling arrays - more exercise. Multi-dimensional arrays.

8th week

File management, for example: writing an array into file and reading back. Programs split to multiple modules. Processing of command line arguments. File copy.

9th week

State machine coding. Redirect input from file and/or to file. TH counter, comment filter. Pattern Recognition.

10th week

Array algorithms, pointers. Search and Sort implementations. Using multiple module source, decomposition.

11th week

Implementation of list handling. Building a list. Writing to a file, reading from a file. Application of a sentry. Insert, delete.

12th week

Coding of recursive functions. Fibonacci series, iteratively and recursively. False recursion, printing of a number. True recursion, colouring shapes. Maze - Can you reach the exit.

13th week

Handling of trees.

14th week

Practice for exam.

 

9. Method of instruction There are two computer laboratory practices every week. This subject is strongly related to Basics of Programming 1.

 

10. Assessment a. During the semester:

It is compulsory to visit the laboratory practices. The presence is checked every time. The absence of a student must be less than a prescribed limit. (see Code of Studies and Exams) Reaching this limit results in denial of the signature.

This subject is strongly related to Basics of Programming 1. Students must follow the topics of the lectures and of the classroom practices to be able to successfully comply with the requirements of the lab. Tutors are entitled to check the required knowledge of the students prior to the lab, or during the lab. The lab is registered as absence for students failing this check. There are five small tests during the semester. The average of the three best tests count. A miss test is treated as 0. There is no way to repeat any of the small tests.

Beside the small tests there is a long-term individual homework assignment for each student to solve. The specification is published on week 6, the solution is to be delivered on week 13. Late delivery is accepted by 12:00 of the last day of the semester (Friday of week 14) while paying a late delivery fee. Beyond week 14 there is no way to deliver a homework.

To get the signature for the semester all of the following three conditions must fulfil:

·      The average of small tests is at least 2.0 (pass)

·      The homework was delivered in time, is an acceptable solution in accordance with the specification, together with the prescribed documentation. Students must present their homework to the tutor in person.

·      The absence of the student does not exceed the prescribed rate.

Failing in any of the above three requirements results in denial of signature. Mid-semester mark is given to those students who have signature. The calculation of the mark is simply the rounded value of two grades: the mean average of the small test grade and the homework grade. The tutor has the right to modify this calculated mark by ± 1 grade according to the general performance of the student during the lab classes.

 

11. Recaps There is no repeat possibility neither for the presence, nor for the small tests. For the homework assignment there is no acceptance after the last day of the semester.

 

12. Consultations Consultation is possible on the lab, via e-mail. Personal consultation is also possible based on reconciliation with the teacher.

 

13. References, textbooks and resources [1]      B.W. Kernighan - D.M. Ritchie:            The C Programming Language.

          Prentice Hall, 1988. 2nd edition

[2]      N.Wirth:

          Algorithms + Data Structures = Programs

          Prentice Hall, 1976. 1st edition

 

14. Required learning hours and assignment
Classes28
Preparation for labs10
Preparation for test0
Homework22
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés0
Sum60
15. Syllabus prepared by
Name:

 

Position:

 

Department:

 

Dr.Poppe András

 

Assoc. professor

 

Dept. of Electron Devices

 

Programming co-operative

 

Dept. of Electron Devices