transition from one - to two-semester(s) of fundamentals ......transition from one- to...

18
G. Banjac and D. Brdjanin University of Banja Luka, Bosnia & Herzegovina Transition from One- to Two-Semester(s) of Fundamentals of Programming 16 th Workshop “Software Engineering Education and Reverse Engineering” Jahorina, 22 - 26 August 2016.

Upload: others

Post on 04-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

G. Banjac and D. BrdjaninUniversity of Banja Luka, Bosnia & Herzegovina

Transition from One- to Two-Semester(s) ofFundamentals of Programming

16th Workshop “Software Engineering Education and Reverse Engineering”Jahorina, 22 - 26 August 2016.

Page 2: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

About this presentation

• Short history of computing curricula at FEE• Syllabus of Fundamentals of Programming

(then and now)• Examination• Statistics• Students’ feedback• Conclusion

2

Page 3: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Undergraduate computing curricula at FEE (1/3)

3

Technical Faculty was founded, with the Electrical Engineering

undergraduate study program

Specialization in Computing technology and Automatics started

The major reconstruction of undergraduate study programs

took place when Computing and Informatics (4 y.) study program

(with profiles Computer Engineering and Software Engineering) was proposed

Minor changesto curricula

Last reconstruction

has been finished in

January 2014

Department of Electrical Engineering has grown into FEE with two study

programs:Computing technology

and Automatics and Electronics and

Telecommunications

New CC (5 y.)

New CC (5 y.)1962.

1972.

1975.

1988.

1995.

2003.

2007.

2014.

Short history

Page 4: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Undergraduate computing curricula at FEE (2/3)

4

First year courses overview (2003-2013)

# Course title Sem. ECTS Hours Type

1 Linear algebra 1 7 3+3+0 A

2 Fundamentals of electrotehnics 1 7 3+2+1 A

3 Physics 1 8 4+2+1 A

4 Fundamentals of computer technics 1 6 2+0+2 A

5 Sociology 1 2 2+0+0 B

6 Philosophy 1 2 2+0+0 B

7 Communication skills 1 2 2+0+0 B

8 Mathematical analysis I 2 8 3+3+0 A

9 Fundamentals of electrotehnics II 2 8 3+3+1 A

10 Programming fundamentals 2 7 3+2+1 A11 Fundamentals of computer technics II 2 7 3+2+1 A

Legend: A – mandatory, B – elective

• First year courses are common for all Study Programs

Page 5: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Undergraduate computing curricula at FEE (3/3)

5

First year courses overview (2014- )

# Course title Sem. ECTS Hours Type

1 Mathematics I 1 7 3+3+0 A

2 Fundamentals of electrotehnics I 1 7 3+2+1 A

3 Programming I 1 6 2+2+1 A4 Fundamentals of computer technics 1 7 3+2+1 A

5 Sociology 1 3 2+0+0 B

6 Philosophy 1 3 2+0+0 B

7 Communication skills 1 3 2+0+0 B

8 Mathematics II 2 7 3+3+0 A

9 Fundamentals of electrotehnics II 2 8 3+3+1 A

10 Programming II 2 8 3+2+1 A11 Physics 2 7 3+2+1 A

• First year courses are common for all study programs

Legend: A – mandatory, B – elective

Page 6: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Course syllabus (1/3)

6

Programming fundamentals (7 ECTS)

• Types and levels of the programming languages. Environment for program development: editors, compilers, linkers. Program execution. Programming: basic concepts and priciples. Problem solving and algorithms.

• C programming language- Basic structure of C program, and elements of C language.- Variables, constants, and basic data types. Memory representation.- Operators and expressions.- Statements. Conditional statements. Loops, break, continue, and goto

statements.- Functions, definitions and function prototypes. Function parameters and return

values.- Complex data types: one-dimensional and multi-dimensional arrays. Structures

and unions.- Pointers. Pointers as function parameters. Dynamic memory allocation.- Recursions and recursive functions.- I/O communication. Files and data streams. I/O function library.

Page 7: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Course syllabus (2/3)

7

Programming I (6 ECTS)

• Types and levels of the programming languages. Environment for program development: editors, compilers, linkers. Program execution. Basic concepts and priciples of programming. Problem solving and algorithms.

• C programming language- Basic structure of C program.- Basic data types. Variables and constants. Memory representation.- Operators and expressions.- Statements. Conditional statements. Loops. Break, continue, and goto

statements.- Complex data types: arrays, structures, unions.- Function declaration and function definition. Function parameters and return

values.- Pointers. Pointers as function parameters.

Page 8: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Course syllabus (3/3)

8

Programming II (8 ECTS)

• Recursions and recursive functions. • Functions with variable number of arguments.• Standard function libraries.• Pointers to functions.• I/O communication. Files and data streams. I/O function library.• Dynamic memory allocation.

• Linear data structures: arrays, lists, stacks, queues.• Non-linear data structures. Trees: binary trees, tree traversal. Graph basics.• Basics of algorihtm systems. Algorithm representation techniques.

Basic sorting and searching algorithms.• String manipulation. Large number manipulation.• Standard algorithm library.• Algorithm complexity.

Page 9: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Examination

9

Programming fundamentals• Practical part:

- two partial exams during semester (max. 25 points each), or- integral exam (max. 50 points)

• Final exam (max. 50 points)

Programming I• Practical part:

- two partial exams during semester (max. 30 points each) andonline test for additional points (max. 10 points), or

- integral exam (max. 60 points)• Final exam (max. 40 points)

First generation of students didn’t have test for additional points.

Programming II• Practical part:

- two partial exams during semester (max. 25 points each) andwork in a laboratory (max. 10 points), or

- integral exam (max. 60 points)• Final exam (max. 40 points)

Only 55% of students took this test for additional points.

Page 10: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Statistics (1/6)

10

0

50

100

150

200

250

300

350

2007/08 2008/09 2009/10 2010/11 2011/12 2012/13 2013/14

138 133 147 142 136 122

182

41 6986 89 102

102

129

First time Repeated

Enrolled students

Programming fundamentals

Page 11: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Statistics (2/6)

11

0

50

100

150

200

250

300

350

400

2014/15 2015/16

245 257

145 138

First time Repeated

Enrolled students

0

50

100

150

200

250

300

350

400

2014/15 2015/16

367

238

0

146

First time Repeated

Programming I Programming II

Page 12: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Statistics (3/6)

12

Examination

Programming fundamentals

0

50

100

150

200

250

300

350

2007/08 2008/09 2009/10 2010/11 2011/12 2012/13 2013/14

37 46 45 36 28 43 62

41 29 26 4132

45 24

101 127162 154 178 136

22544%37%

30% 33% 25%39%

28%

Passed through partial exams Passed through integral exam Didn't pass

Page 13: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Statistics (4/6)

13

Examination

Programming I Programming II

0

50

100

150

200

250

300

350

400

2014/15 2015/16

10372

8

173417

270 264

31% 33%

0

50

100

150

200

250

300

350

400

2014/15 2015/16

72 53

2538 5

6

257 295

30%23%

2014/15

PI PII88

88 students passed both courses

2015/16*

PI PII53/76

53 students allready passed both courses

At least 76 students are expected to pass both

courses

* Current data

Page 14: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Statistics (5/6)

14

Grades

Programming I Programming II

0

10

20

30

40

50

60

70

6 7 8 9 10

4345

20

11

1

47

30

17

9

3

68

1815

41

2014/15 2015/16 2015/16 (without additional points)

0

10

20

30

40

50

60

6 7 8 9 10

60

27

19

31

14

21

14

7

2

2014/15 2015/16

Average grade2014/15: 7.022015/16: 6.972015/16: 6.60

Average grade2014/15: 6.712015/16: 7.34

Page 15: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Statistics (6/6)

15

Comparison with other courses

# Course title Sem. ECTS Passed(2014/15)

Passed(2015/16)*

1 Mathematics I 1 7 81 80

2 Fundamentals of electrotehnics I 1 7 86 86

3 Programming I 1 6 120 1064 Fundamentals of computer technics 1 7 131 91

5 Sociology 1 3

198 2066 Philosophy 1 3

7 Communication skills 1 3

8 Mathematics II 2 7 20 22

9 Fundamentals of electrotehnics II 2 8 52 49

10 Programming II 2 8 110 5811 Physics 2 7 46 14

* Current data

Page 16: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Students’ feedback

16

• … is, generaly, positive, but with some suggestions on how to improve courses:

• “Increase the number of hours”

• “Increase the number of hours in a laboratory”

• “More homework and tasks in a laboratory”

• “Examination should be on computers (instead of paper examination)”

• “Partial exams should be on computers”

Page 17: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

Conclusion

• Last major recontruction of undergraduate computing curricula at FEE has been finished in January 2014

• Instead of one, now we have two semesters of Fundamentals of Programming in the first year curricula

• Now, 1st year students:– Learn more advanced programming concepts (e.g. functions

with variable number of arguments, …) as well as basic concepts of data structures and algorithms

– Have more practical experience / more work in a laboratory

• Passing rate for the new courses is almost the same as the passing rate for the old course

17

Page 18: Transition from One - to Two-Semester(s) of Fundamentals ......Transition from One- to Two-Semester(s) of Fundamentals of Programming. Undergraduate computing curricula at FEE (1/3)

Banjac and Brdjanin: Transition from One- to Two-Semester(s) of Fundamentals of Programming

G. Banjac and D. BrdjaninUniversity of Banja Luka, Bosnia & Herzegovina

Thank You!

Transition from One- to Two-Semester(s) ofFundamentals of Programming

16th Workshop “Software Engineering Education and Reverse Engineering”Jahorina, 22 - 26 August 2016.