BORIS MILAŠINOVIĆ FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING UNIVERSITY OF ZAGREB, CROATIA Experiences after three years of teaching “Development.

Slides:



Advertisements
Similar presentations
Online Student Success: Teaching the ABCs of Online Proficiency to Produce As, Bs, and Cs in Online Classes.
Advertisements

IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology.
Title Page. Over course of two years you will complete 6 units. These will include: five portfolios Unit 1 – Using ICT to communicate Unit 3 - ICT for.
BORIS MILAŠINOVIĆ KREŠIMIR FERTALJ UNIVERSITY OF ZAGREB FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING CROATIA Teaching staff role in students projects.
Two e-Learning elective seminars in Novi Sad Putnik Z., Komlenov Ž., Budimac Z. DMI, Faculty of Science University of Novi Sad.
The use of real life projects in students’ assignments Some subjective impressions after several years of experience Boris Milašinović Faculty of Electrical.
CMSC 132: Object-Oriented Programming II
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Project Life Cycle Jon Ivins DMU. Introduction n Projects consist of many separate components n Constraints include: time, costs, staff, equipment n Assets.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
Planning. SDLC Planning Analysis Design Implementation.
Capstone Design Project (CDP) Civil Engineering Department First Semester 1431/1432 H 10/14/20091 King Saud University, Civil Engineering Department.
Workflow API and workflow services A case study of biodiversity analysis using Windows Workflow Foundation Boris Milašinović Faculty of Electrical Engineering.
Data Structures and Programming.  John Edgar2.
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
Final Year Project Presentation E-PM: A N O NLINE P ROJECT M ANAGER By: Pankaj Goel.
Course Content, Evaluation, Exams Telerik Software Academy ASP.NET Web Forms.
+ Connecting to the Web Week 7, Lecture A. + Midterm Basics Thursday February 28 during Class The lab Tuesday, February 26 is optional review Class on.
Student view of SE study program at FER, Zagreb Ivan Belfinger Mentor: prof. dr. sc. Krešimir Fertalj Faculty of Electrical Engineering and Computing,
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Introduction to Project Management
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
Computer Network Fundamentals CNT4007C
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
Tablet PC Capstone CSE 481b Richard Anderson Craig Prince.
Course Introduction Software Engineering
CS461: Principles and Internals of Database Systems Instructor: Ying Cai Department of Computer Science Iowa State University Office:
ECEN 248: INTRODUCTION TO DIGITAL DESIGN
Module Info Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
Syllabus Faculty of Applied Engineering and Urban Planning Civil Engineering Department Lecture - Week 1 2 nd Semester 2008/2009 UP Copyrights 2008 Introduction.
Software Engineering Management Lecture 1 The Software Process.
1 My Experiences as Faculty Member and Researcher Dr. Kalim Qureshi.
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
ISYS 562 Microcomputer Business Applications David Chao.
+ Introduction to Class IST210 Class Lecture. + Course Objectives Understand the importance of data, databases, and database management Design and implement.
Systems Analysis and Design in a Changing World, Fourth Edition
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
IT461 Advanced Visual Basic Unit 1: Course Introduction Sydney Liles AIM: sydneyliles.
Johann K. Brunner "Modernizing the 3 rd cycle at the University of Prishtina and Developing a PhD Program at the Faculty of Economics" Nice, September,
INTRODUCTION TO PROGRAMMING ISMAIL ABUMUHFOUZ | CS 146.
University of Limerick1 Computer Applications CS 4815 Robocode.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
Course Program, Evaluation, Exams George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia.
Foundation year. 2 Computer For Health Sciences COURSE NAME COMP101 COURSE CODE (2 + 1) credit hours CREDIT HOURS.
Advanced C# Course Introduction SoftUni Team Technical Trainers Software University
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
The Level-2 Projects for Course Clusters Haojun Sun College of Engineering Shantou University.
Computer Networks CNT5106C
“Babeş-Bolyai” University Faculty of Economics and Business Administration Second semester 1st year, English line of study Business IT Introductive course.
ASP.NET MVC Course Program, Trainers, Evaluation, Exams, Resources SoftUni Team Technical Trainers Software University
Web Services Course Program, Evaluation, Exams Telerik Software Academy Web Services and Cloud.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Computer Network Fundamentals CNT4007C
Multiple Paths to Success
CSC207 Fall 2016.
Computer Networks CNT5106C
Computer Networks CNT5106C
EECE 310 Software Engineering
Introduction To software engineering
Welcome to CS220/MATH 320 – Applied Discrete Mathematics Fall 2018
Computer Networks CNT5106C
SOFTWARE DEVELOPMENT LIFE CYCLE
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Presentation transcript:

BORIS MILAŠINOVIĆ FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING UNIVERSITY OF ZAGREB, CROATIA Experiences after three years of teaching “Development of Software Applications”

Course description Obligatory for students enrolled in study module “Software Engineering” (the 3 rd year of study)  cca 90 enrollments each year Minimal theory, required to determine practice  elaborates software engineering concepts, principles and techniques.  studies approaches to the development of end user applications, including:  requirements analysis and specification  design and construction of software components  programming techniques (using C#)  documentation  implementation and maintenance of applications

Competencies (Aims) prepare students for development of complex interactive applications, particularly database applications provide a knowledge for successful design, construction and implementation of software systems students will be able to formulate the software requirements and to develop, implement and maintain quality software built upon different software architectures.

Students requirements Teamwork (5-6 students per team)  Combined team and individual effort Each member develops every part of:  Window application (GUI, BLL, DAL) (C#)  Web application (ASP.NET C#)  Mobile application (for Pocket PC)  Web service  Report (Crystal Reports)  Help and documentation Criteria for homework and exam usually published at the beginning of each lecture cycle

Software requirements Microsoft Visual Studio (2005, 2008) Microsoft SQL Server (2005, 2008, Express) Microsoft Team Foundation Server (2005, 2008)  All documents and source code must be uploaded to TFS before deadline  Homeworks: end of the working week  Exams: two working days before final evaluation

Grading scheme Presence at lectures5% Multiple choice tests (Quizzes)30% Homework15% 1 st mid-term exam10% 2 nd mid-term exam15% 20% Final exam25% 20% To pass, a student must collect at least 50% from each component  Can repeat 1 or 2 components*  Brings some grumbles but has also advantages Grades are distributed by Gaussian distribution

Correlation between final grade and course components* Exams mostly consist of previous homework  Explains high correlation between homework and final grade *Only students that successfully passed are included  2008: 87/101 = 86%  2009: 73/94 = 78%  2010: 60/77 = 78%  Students mostly give up in the first third of the semester 1 st exam2 nd examfinal examPresenceHomeworkQuizzes ,100,78 0,460,720, ,090,750,650,100,700, ,290,710,690,560,720,68

Correlation between final grade and previous courses Course NameCorrelation with grade on this course Course Avg grade Selected students course avg Programming and Software Engineering 0,233,464,08 Algorithms and Data Structures0,373,573,94 Databases0,473,573,62 Mathematics 10,253,413,7 Mathematics 20,403,493,55 Operating Systems0,303,613,71 Computer Architecture 10,353,533,79 Digitalna logika0,313,523, of 185 distinct students attended this course in last 3 years Correlation with students average grade: 0,51 Course NameCorrelation with grade on this course Programming and Software Engineering 0,23 Algorithms and Data Structures0,37 Databases0,47 Mathematics 10,25 Mathematics 20,40 Operating Systems0,30 Computer Architecture 10,35 Digital logic0,31

Noted problems In contrast with all previous courses  “What are we supposed to do? Tell us in details”  “How can we write an initial project plan when we don’t know all details?”  Students focused on technology, not the project goals and tasks Too much work for 4 ECTS  Comparing to some other (easy) courses? Lecture materials are not adequate?  Opposite thinking: too many slides vs. too few materials to learn Teamwork: Accelerator or nightmare?  students interfere with each other Bad attitude to Microsoft  cannot be solved, but only few students complains Enormous teaching assistants time effort

The most notable changes through years (1/5) Interview with “customer” held 1 week earlier Students assistants  write tutorials  help in labs  addition to usual consultations  draw attention to problems using own experience

The most notable changes through years (2/5) 13 home assignments “reduced” to 6  Same extent and scope  Less pressure on students and teaching assistants  Less overhead for teaching assistants  Deadline moved from Sunday 23:59 to Friday 23:59  Big psychological effect Assignments announced in advance*  *announced at least at the beginning of each cycle  Students can manage their schedule in a more flexible manner  No homework in the last week of each cycle

The most notable changes through years (3/5) Common database server  One database per each team  Solved most of the merge and dependency problems  Table definitions and data in common place  Testing eased  No need to upload and set database for test  No need to change connection strings  Drastically reduced time for reviewing process

The most notable changes through years (4/5) Automated project builds (using TFS)  Build definition created manually for each homework/exam  1 week before deadline  takes 5-10 minutes of assistant’s time each week  Two builds per day (8h, 16h)  Build every 30 minutes in last 24 hours before exam Build results sent by Zip with executables copied to web server  Can be downloaded and tested anywhere Build failed == 0 points?

The most notable changes through years (5/5) Obligatory labs (2h) are now time feasible Homework review in front of student  Task checklist  No complains afterwards  No lengthy s with explanations  Build failed? => “Fix it now…if you can/know ”

Conclusion New software features, previous experience, feedback from questionnaires, student assistants =>  Reduced pressure  Assignments clearly highlighted  Materials extended with tutorials  Has to be updated every 2-3 years to reflect technology changes   Team integration eased  Reviewing effort decreased  Achieved stable grading scheme Good feedback from alumni