1 / 21

Bansko , August 28 , 2013

Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad. Bansko , August 28 , 2013. Andreja Tepav č evi ć Department of Mathematics and Informatics Faculty of Science s University of Novi Sad Serbia. Outline:.

cindylutz
Download Presentation

Bansko , August 28 , 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August28, 2013

  2. Andreja Tepavčević • Department of Mathematics and Informatics • Faculty of Sciences • University of Novi Sad • Serbia

  3. Outline: • New accreditation round at Faculty of Sciences, UNI Novi Sad • Theoretical computer science • SWEBOK • Current situation at UNI Novi Sad • Conclusion

  4. New accreditation round at Faculty of Sciences • Programs • Bachelor Informatics 3 years Modules: Computer Sciences Information Technologies • Bachelor Informatics 4 years • Master Informatics 2 years: Modules: Computer Sciences Software Engineering Information Technologies

  5. Adjusting programmes at UNI for the new accreditation round • How it was through the history of the department?

  6. Theoretical computer science (TCS) is a division (or subset) of general computer science and mathematics which focuses on more abstract or mathematical aspects of computing. (from Wikipedia)

  7. The field of TCS include algorithms, data structures, computational complexity theory, distributed computation, parallel computation, machine learning, information theory, cryptography, quantum computation, computational number theory and algebra, program semantics and verification, automata theory, the study of randomness,…

  8. Important aspects: mathematical technique and rigor

  9. IEEE Computer SocietyGuide to the Software Engineering Body of Knowledge (SWEBOK)

  10. The SWEBOK Guide: • characterizes the contents of the software engineering discipline • promotes a consistent view of software engineering worldwide • clarifies software engineering's place with respect to other disciplines • provides a foundation for training materials and curriculum development, • provides a basis for certification and licensing of software engineers.

  11. Engineering foundations • Mathematical foundations • Computing foundations

  12. Engineering foundations • Empirical Methods and Experimental Techniques • Statistical Analysis • Measurement • Engineering Design • Modeling, Simulation, and Prototyping • Standards

  13. Computing foundations: Not all courses in computer science are related or equally important to software engineering

  14. Computing foundations • Problem Solving Techniques • Abstraction • Programming Fundamentals and Programming Language Basics • Debugging Tools and Techniques • Data Structure and Representation • Algorithms and Complexity • Basic Concept of a System • Computer Organization • Secure Coding,…

  15. Mathematics for a software engineer is mostly connected to the logic and reasoning.

  16. Mathematical foundations • Sets, relations, functions • Basic logic • Proof Techniques • Basics of Counting • Graphs and Trees • Discrete Probability • Finite State Machines • Grammars • Numerical precision • Number Theory • Algebraic Structures

  17. Situation at UNI Novi Sad Software engineering curriculum: -Bachelor Informatics 3 years’ -Master in Informatics (a module - Master in SE)

  18. Courses connected with TCS • Bachelor 3 years: Obligatory courses for both modules: Computing foundations Mathematical foundations e.g. Mathematical logics and basics of algebra, Discrete Mathematics, Formal Languages and Automata,… + Several elective courses

  19. Master in SE • It is assumed that students already learned TCS fundamentals at bachelor level • No obligatory courses in TCS at master level • Some elective courses as Applied Mathematical Statistics, Mathematical Logics, Combinatorial Algorithms • In practice, they are rarely chosen by students

  20. Do we need TCS in SE curriculum? • Yes, we do because TCS provides necessary basics to SE. • Yes, we do, although the courses and methods should be very carefully chosen • Yes, not because mathematicians insist that mathematics is needed, but because some basics is really needed (according to SWEBOK guide).

  21. Thank you for your attention!

More Related