15 research outputs found
A Cooperative Development System for an Interactive Introductory Programming Course
We present a system for a cooperative development of computer programs that was created for the lab sessions of an introductory programming course at the University of Ljubljana, Slovenia. The system relieved the students from the tedious task of retyping programs developed by the teaching assistant and enabled them to cooperate with the teaching assistant in solving programming problems. We thus made the lab sessions more efficient and interactive and brought them closer to the spirit of active learning approaches
A Cooperative Development System for an Interactive Introductory Programming Course
We present a system for a cooperative development of computer programs that was created for the lab sessions of an introductory programming course at the University of Ljubljana, Slovenia. The system relieved the students from the tedious task of retyping programs developed by the teaching assistant and enabled them to cooperate with the teaching assistant in solving programming problems. We thus made the lab sessions more efficient and interactive and brought them closer to the spirit of active learning approaches
Programiranje v parih v srednjih šolah
Extreme programming (XP) is a new style of software development focusing on excellent applications of programming tecniques, clear communication, and team work, which gives unimaginable results. A major practice of Extreme programming is Pair Programming. There are two programmers working side by side at the same computer, collaborating on the same analysis, the same design, implementation and test. Proponents of pair programming argue that programs produced by pairs are of higher quality, with less errors, better design than those produced by one programmer. And they are made in the shortest time possible as well. We think that pair programming model has also been found to be beneficial for students. Initial quantitative and qualitative results demonstrate that the use of pair programming in the computer science classroom enhances student learning and satisfaction. We explore the nature of pair programming, then examine the ways such a practise may enhance teaching and learning in computer science education.Ekstremno programiranje je nov stil razvoja programske opreme, ki temelji na odličnih aplikacijah programskih tehnik, medsebojne komunikacije in teamskega dela. S pomočjo le tega dobimo rezultate, ki si jih nismo mogli niti zamisliti. Glavna praksa ekstremnega programiraja je programiranje v parih. Pri programiranju v paru dva programerja drug ob drugem, za istim računalnikom hkrati analizirata, načrtujeta in razvijata ter testirata programsko opremo. Zagovorniki te prakse trdijo, da so programi, ki so nastali pri delu v paru, boljši, z manj napakami in lepšim vmesnikom. Menimo, da je programiranje v parih zelo uspešna metoda tudi za učenje programiranja v srednji šoli. Začetni kvalitativni in kvantitativni rezultati prikazujejo, da je programiranje v parih pri učenju programiranja povečalo znanje in zadovoljstvo dijakov. Raziskali smo naravo programiranja v parih in preizkusili na kakšen način lahko s to prakso izboljšamo poučevanje, zvečamo motivacijo in povečamo znanje dijakov pri poučevanju programiranja v srednjih šolah
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineering Capstone Course
Using university capstone courses to teach agile software development
methodologies has become commonplace, as agile methods have gained support in
professional software development. This usually means students are introduced
to and work with the currently most popular agile methodology: Scrum. However,
as the agile methods employed in the industry change and are adapted to
different contexts, university courses must follow suit. A prime example of
this is the Kanban method, which has recently gathered attention in the
industry. In this paper, we describe a capstone course design, which adds the
hands-on learning of the lean principles advocated by Kanban into a capstone
project run with Scrum. This both ensures that students are aware of recent
process frameworks and ideas as well as gain a more thorough overview of how
agile methods can be employed in practice. We describe the details of the
course and analyze the participating students' perceptions as well as our
observations. We analyze the development artifacts, created by students during
the course in respect to the two different development methodologies. We
further present a summary of the lessons learned as well as recommendations for
future similar courses. The survey conducted at the end of the course revealed
an overwhelmingly positive attitude of students towards the integration of
Kanban into the course
Relational model of temporal data based on 6th normal form
Ovaj rad povezuje dva različita područja istraživanja, tj. Temporalne podatke i Relacijsko modeliranje. Temporalni podaci su podaci koji predstavljaju stanje u vremenu, a temporalna baza podataka je baza podataka s ugrađenom podrškom za baratanje s podacima koji uključuju vrijeme. Većina temporalnih sustava pruža dovoljno temporalnih karakteristika, ali su relacijski modeli nepravilno normalizirani, a pristupi modeliranju nedostaju ili nisu uvjerljivi. Ovim se prijedlogom daju prednosti modeliranja temporalne baze podataka, prvenstveno korištene u analitici i izvještavanju, gdje tipična pretraživanja uključuju mali podniz atributa i veliku količinu zapisa. U radu se definira posebni logički model koji podržava temporalne podatke i konzistenciju, zasnovan na vertikalnoj dekompoziciji i šestoj normalnoj formi (6NF). Primjena 6NF omogućuje neovisnost u promjeni atributnih vrijednosti i tako sprečava redundanciju i anomalije. Naš je model uspoređen s drugim temporalnim modelima i demonstrirano je super brzo pretraživanje postignuto eliminacijom spajanja baze podataka (database join elimination). Svrha je rada pomoći stručnjacima koji se bave bazama podataka u primjeni temporalnog modeliranja.This paper brings together two different research areas, i.e. Temporal Data and Relational Modelling. Temporal data is data that represents a state in time while temporal database is a database with built-in support for handling data involving time. Most of temporal systems provide sufficient temporal features, but the relational models are improperly normalized, and modelling approaches are missing or unconvincing. This proposal offers advantages for a temporal database modelling, primarily used in analytics and reporting, where typical queries involve a small subset of attributes and a big amount of records. The paper defines a distinctive logical model, which supports temporal data and consistency, based on vertical decomposition and sixth normal form (6NF). The use of 6NF allows attribute values to change independently of each other, thus preventing redundancy and anomalies. Our proposal is evaluated against other temporal models and super-fast querying is demonstrated, achieved by database join elimination. The paper is intended to help database professionals in practice of temporal modelling
Poučevanje tehnologije informacijskih sistemov v sodelovanju z računalniškimi podjetji
We describe an example of partnership between a university and some major IT companies - IBM and Microsoft - to teach a course on information systems technology. The course is taught in the fifth (final) year of the university undergraduate program when students have already mastered the basic theoretical knowledge of information system development. For this reason, the course content was restructured to pay more attention to practical experience and the learning opportunities available within the environment of professional industry. During the course, students get acquainted with IBM and Microsoft products and the tools that support the development of online information systems. Special attention is devoted to group project work, which is not just intended for the improvement of technical skills, but also for the aqusition of transferrable skills such as teamwork, management/leadership, planning and organizing, presentation and documentation, searching for information, etc. We describe our experience from teaching the course in the academic years 2005/06 and 2006/07. A description of the course content is given and the results of a survey among the students are presented. Students responded favourably to the new approach and found the course very useful and interesting.Prispevek opisuje primer sodelovanja med Fakulteto za računalništvo in informatiko in podjetjema IBM in Microsoft pri izvajanju predmeta Tehnologija informacijskih sistemov. Predmet je na programu v petem (zadnjem) letniku univerzitetnega študija, ko študenti že obvladajo temeljna teoretična znanja o razvoju informacijskih sistemov. Zato smo prilagodili njegovo vsebino tako, da je večji poudarek namenjen pridobivanju praktičnih izkušenj v profesionalnem delovnem okolju. V okviru predmeta se študenti seznanijo z orodji in rešitvami, ki jih za razvoj spletnih informacijskih sistemov ponujata IBM in Microsoft. Posebna pozornost pa je namenjena delu na projektih, katerih namen ni samo poglabljanje tehničnega znanja, ampak tudi pridobivanje sposobnosti za skupinsko delo, vodenje, načrtovanje in organizacijo, pripravo predstavitev in medosebno komuniciranje, iskanje informacij ipd. V prispevku so opisane naše izkušnje s poučevanjem nove vsebine predmeta v študijskih letih 2005/06 in 2006/07. Predstavljena je vsebina predmeta in rezultati ankete, ki smo jo izvedli med študenti. Študenti se strinjajo z novim pristopom in ocenjujejo, da je tako zasnovan predmet zanimiv in koristen
Graph Grammar Induction as a Parser-Controlled Heuristic Search Process
A graph grammar is a generative description of a graph language (a possibly infinite set of graphs). In this paper, we present a novel algorithm for inducing a graph grammar from a given set of 'positive' and 'negative' graphs. The algorithm is guaranteed to produce a grammar that can generate all of the positive and none of the negative input graphs. Driven by a heuristic specific-to-general search process, the algorithm tries to find a small grammar that generalizes beyond the positive input set. During the search, the algorithm employs a graph grammar parser to eliminate the candidate grammars that can generate at least one negative input graph. We validate our method by inducing grammars for chemical structural formulas and flowcharts and thereby show its potential applicability to chemical engineering and visual programming
Improving the graph grammar parser of Rekers and Schürr
Graph grammars and graph grammar parsers are to visual languages what string grammars and parsers are to textual languages. A graph grammar specifies a set of valid graphs and can thus be used to formalise the syntax of a visual language. A graph grammar parser is a tool for recognising valid programs in such a formally defined visual language. A parser for context-sensitive graph grammars, which have proved to be suitable for formalising real-world visual languages, was developed by Rekers and Schürr. We propose three improvements of this parser. One of them enlarges the class of parsable graph grammars, while the other two increase the parser’s computational efficiency. Experimental results show that for some (meaningful) graph grammars, our improvements can enhance the parser’s performance by orders of magnitude. The proposed improvements will hopefully increase both the parser’s applicability and the interest in visual language parsing in general
Poučevanje tehnologije informacijskih sistemov v sodelovanju z računalniškimi podjetji
We describe an example of partnership between a university and some major IT companies – IBM and Microsoft – to teach a course on information systems technology. The course is taught in the fifth (final) year of the university undergraduate program when students have already mastered the basic theoretical knowledge of information system development. For this reason, the course content was restructured to pay more attention to practical experience and the learning opportunities available within the environment of professional industry. During the course, students get acquainted with IBM and Microsoft products and the tools that support the development of online information systems. Special attention is devoted to group project work, which is not just intended for the improvement of technical skills, but also for the aqusition of transferrable skills such as teamwork, management/leadership, planning and organizing, presentation and documentation, searching for information, etc.We describe our experience from teaching the course in the academic years 2005/06 and 2006/07. A description of the course content is given and the results of a survey among the students are presented. Students responded favourably to the new approach and found the course very useful and interesting.Prispevek opisuje primer sodelovanja med Fakulteto za računalništvo in informatiko in podjetjema IBM in Microsoft pri izvajanju predmeta Tehnologija informacijskih sistemov. Predmet je na programu v petem (zadnjem) letniku univerzitetnega študija, ko študenti že obvladajo temeljna teoretična znanja o razvoju informacijskih sistemov. Zato smo prilagodili njegovo vsebino tako, da je večji poudarek namenjen pridobivanju praktičnih izkušenj v profesionalnem delovnem okolju. V okviru predmeta se študenti seznanijo z orodji in rešitvami, ki jih za razvoj spletnih informacijskih sistemov ponujata IBM in Microsoft. Posebna pozornost pa je namenjena delu na projektih, katerih namen ni samo poglabljanje tehničnega znanja, ampak tudi pridobivanje sposobnosti za skupinsko delo, vodenje, načrtovanje in organizacijo, pripravo predstavitev in medosebno komuniciranje, iskanje informacij ipd. V prispevku so opisane naše izkušnje s poučevanjem nove vsebine predmeta v študijskih letih 2005/06 in 2006/07. Predstavljena je vsebina predmeta in rezultati ankete, ki smo jo izvedli med študenti. Študenti se strinjajo z novim pristopom in ocenjujejo, da je tako zasnovan predmet zanimiv in koristen
Poučevanje kakovosti programske opreme s poudarkom na modelu PSP
Learning about software quality is a must for any computer science student. At Faculty of Computer and Information Science it is taught at course named Software Development II, which undergraduate students take in their third year. In article we present a discussion on selection of an appropriate quality model to cover software quality area first. Capability Maturity Model (CMM) is a well known and complete model, but it is useful for bigger computer companies mostly. In Slovene case it is better to choose Personal Software Process (PSP) model, which defines process for engineer in software organization. After that the basic characteristics of PSP are presented, and teaching process of Software Development II course explained. Course covers several other Software Engineering themes, but we dedicate our main attention to PSP.A practical exercise is part of course as well, and there students develop a small web application by the PSP principles. Some PSP documents are produced in this way, and those we analyzed at the end of course.We discovered PSP learning was successful, but efficient use demands additional gradual implementation of PSP principles. In last part we present the analysis of anonymous student questionnaire. Results proved that students mark PSP as a useful and practical model. Key words: Software Engineering, Software Quality, Quality Models, Capability Maturity Model (CMM), Personal Software Process (PSP), questionnaireKakovost programske opreme (PO) je pomembno področje, ki ga morajo na ustrezen način spoznati vsi študentje računalništva. Na naši fakulteti ga na visokem strokovnem študiju Računalništva in informatike poučujemo v okviru predmeta Razvoj programskih sistemov II (RPS II), ki se izvaja v 3. letniku. V prispevku najprej utemeljimo izbiro snovi za ustrezno predstavitev področja kakovosti PO. Primeren način za celovito predstavitev je obravnava uveljavljenega modela za zagotavljanje kakovosti. Model zrelostnih stopenj (CMM) je tak primer, vendar je primeren predvsem za velike organizacije. Za slovenske razmere je primernejši soroden model osebnega procesa razvoja (PSP), ki je namenjen inženirju-razvijalcu PO v organizaciji za razvoj PO. V nadaljevanju članka prikažemo glavne značilnosti PSP-ja, nakar predstavimo izvajanje predavanj in vaj pri predmetu RPS II. Čeprav predmet pokriva tudi druge tematike iz področja tehnologije PO, je osrednja vloga na predavanjih namenjena PSP-ju, na vajah pa študenti praktično uporabljajo PSP pri razvoju manjših spletnih aplikacij. Pri tem izdelajo več PSP dokumentov, na podlagi katerih smo izvedli analizo uspešnosti učenja PSP-ja. Pokazalo se je, da so študentje uspešno spoznali PSP, vendar učinkovita uporaba zahteva disciplino in postopno uvajanje. Na koncu predstavimo še rezultate anonimne mnenjske ankete med študenti, ki pokaže, da je po mnenju večine PSP priljubljen in zelo uporaben model. Ključne besede: tehnologija PO, kakovost PO, modeli za zagotavljanje kakovosti, model stopenj zrelosti (CMM), osebni proces razvoja PO (PSP), anket