150 likes | 163 Views
Explore the impact of using JCSE materials in student projects, covering software design, UML theory, programming verification, and object-oriented analysis. Discover challenges and solutions for enhancing object-oriented design education.
E N D
Experience from using JCSE topics in student projects V. Ajanovski, B. Jakimovski Faculty of Natural Sciences and Mathematics Skopje, Macedonia
Information systems course • 2h lectures, 1h theoretical exercises, 2h practical exercises • 30 students in the 4th year, divided in 2 groups • JCSE materials usage • Only parts of topics, 1-2 slides from each • Software design models, Structural analysis, Object Oriented Analysis, Testing • The course mainly focuses on UML
Theory of Programming • 2h lectures, 1h theoretical exercises • 30 students in the 4th year, divided in 2 groups • JCSE materials usage • Topics were covered on the lectures • Software design models, Design Phases, Functional Analysis, Documents, Structural analysis • The course is focused on program verification (past)
Student projects • Gambling shop • E-testing • Students' administration OnLine • Storage warehouse • Resource management • Library
Problems • Object-oriented software design • Is it enough just to use the words class and object sporadicaly? • Use-case = Function? • Maybe the hardest concept to grasp for a students - inexperienced programmer • Students are mainly acustomed in creating smaller tool-like software packages where everything is usually done in a procedure not more than 200 lines long
Problems ... • Class diagram = List of classes • Even though we didn't stop mentioning the database E-R diagrams as a typical example, students never used them although they had a database in their design • They just create a class named Database with methods like: • Save the necessary data to the database • No correlation among different diagrams
Experience • Theory of programming course was given after the Information System course • This had the opposite effect on the students – they knew some of the design issues but lacked the theory • This course gave them theoretical background of the software engineering • The course was well accepted by the students since it gave them an overview of the things they knew (partially)
Conclusion • We feel there is a definite lack of education in the direction of object-oriented design • It can be solved with larger student projects in the 1st and 2nd year of studies • Introduction of UML in the beginning of the curriculum • Larger case studies • Where students could spend a month of studying