Thomas Hilburn - Academia.edu (original) (raw)
Papers by Thomas Hilburn
This paper presents a non-traditional approach to teaching the first course in programming for co... more This paper presents a non-traditional approach to teaching the first course in programming for computer science majors: the use of an instructional strategy that relies on a top-down methodology to develop programming skills and problem-solving capabilities. The Ada programming language is used to implement the instructional strategy that is described. The course relies on a set of predefine Ada packages, referred to as programmer "toolboxes", to first give the novice programmer experience with high-level modular programming, and then to proceed, in a stepby-step manner, to address lower level programming concerns by stripping off layers of abstraction and adding detail about design and implementation of the toolboxes. The paper advances and advocates the idea that modem concepts about top-down modular software development can and should be applied to the teaching of introductory computer programming.
Washington Ada Symposium, Mar 16, 1987
ACM Transactions on Computing Education, Dec 15, 2015
Team projects are a way to expose students to conflicting project objectives and "[t]here should ... more Team projects are a way to expose students to conflicting project objectives and "[t]here should be a strong real-world element ... to ensure that the experience is realistic" (SE2014, [ACM/IEEE 2015b]). Team projects provide students an opportunity to put their education into practice and prepare them for their professional careers. The aim of this special issue is to collect and share evidence about the state-of-practice of team projects in computing education and to help educators in designing and running team projects. From a record number of 69 submitted abstracts, 19 were invited to submit a full paper. Finally, nine papers were accepted for publication in this and a subsequent issue. The papers presented in the present issue cover the following topics: real projects for real clients, open source projects, multidisciplinary team projects, student and team assessment, and cognitive and psychological aspects of team projects.
SIGCSE bulletin, Mar 1, 1996
This paper describes a student peer revleu-process that has been mcorporakd within an introductor... more This paper describes a student peer revleu-process that has been mcorporakd within an introductory course in formal methods, As a course project, a team of students develops a f(xrnal specification of the requirements for a software system, The tinal pat of the project involves the inspection of the specification by another team of student reviewers The paper presents a rationale for including inspections as part of a formal methods course. It provides a detailed dcscnpticm of the inspection process and repm~s on the application of the process to a specific class project Finally, the paper assesses the results of the use of such a paradigm and discusses how to improve it.
This workshop provides a forum for discussing the current state of the software engineering disci... more This workshop provides a forum for discussing the current state of the software engineering discipline. Position on software engineering issues and problems are presented by participants with experience and perspective from industry, government and academia.
This paper begins with a discussion of the importance of software development and the problems en... more This paper begins with a discussion of the importance of software development and the problems encountered by those trying to work effectively on software project teams. It is argued that for students to be effective in working on teams they need the discipline and organization offered by a rigorous team software process. The author describes his experiences in using the Team Software Process (TSP) to teach an introductory course in software engineering. The structure and key elements of the process are presented, along with techniques used in selecting and forming teams. The paper examines the TSP quality assurance features and finishes with a discussion of the techniques used to acquire feedback and to evaluate the affect of the TSP on student learning.
Software Engineering Practice, 2020
Washington Ada Symposium, Mar 16, 1987
Software Engineering Practice, 2020
Software Engineering Practice, 2020
Software Engineering Practice, 2020
Software Engineering Practice, 2020
Software Engineering Practice, 2020
This textbook explains software engineering through the use of a case study on the software devel... more This textbook explains software engineering through the use of a case study on the software development lifecycle. The case study covers the development of a DigitalHome (DH) System. A set of scenarios that provide a realistic framework for use of the DH System material are included along with exercises that provide students with an opportunity to engage in the software development practice within a team environment. Each chapter includes mini tutorials that introduce various software engineering topics discussed. Teacher notes and other web resources are available upon qualified course adoption.
The use of case studies is an effective method for introducing real-world professional practices ... more The use of case studies is an effective method for introducing real-world professional practices into the classroom. Case studies have become a proven and pervasive method of teaching about professional practice in such fields as business, law, and medicine. The term “case study” is used in a variety of ways. In its most naive form, it simply refers to a realistic example used to illustrate a concept or technique. Although the use of case studies in education has shown success in the above mentioned disciplines, it is yet to be adopted in any significant way in the computing education. In this work, we re-introduce the DigitalHome Case Study, and report on our use of one of the case modules of this case study.
This paper presents a non-traditional approach to teaching the first course in programming for co... more This paper presents a non-traditional approach to teaching the first course in programming for computer science majors: the use of an instructional strategy that relies on a top-down methodology to develop programming skills and problem-solving capabilities. The Ada programming language is used to implement the instructional strategy that is described. The course relies on a set of predefine Ada packages, referred to as programmer "toolboxes", to first give the novice programmer experience with high-level modular programming, and then to proceed, in a stepby-step manner, to address lower level programming concerns by stripping off layers of abstraction and adding detail about design and implementation of the toolboxes. The paper advances and advocates the idea that modem concepts about top-down modular software development can and should be applied to the teaching of introductory computer programming.
Washington Ada Symposium, Mar 16, 1987
ACM Transactions on Computing Education, Dec 15, 2015
Team projects are a way to expose students to conflicting project objectives and "[t]here should ... more Team projects are a way to expose students to conflicting project objectives and "[t]here should be a strong real-world element ... to ensure that the experience is realistic" (SE2014, [ACM/IEEE 2015b]). Team projects provide students an opportunity to put their education into practice and prepare them for their professional careers. The aim of this special issue is to collect and share evidence about the state-of-practice of team projects in computing education and to help educators in designing and running team projects. From a record number of 69 submitted abstracts, 19 were invited to submit a full paper. Finally, nine papers were accepted for publication in this and a subsequent issue. The papers presented in the present issue cover the following topics: real projects for real clients, open source projects, multidisciplinary team projects, student and team assessment, and cognitive and psychological aspects of team projects.
SIGCSE bulletin, Mar 1, 1996
This paper describes a student peer revleu-process that has been mcorporakd within an introductor... more This paper describes a student peer revleu-process that has been mcorporakd within an introductory course in formal methods, As a course project, a team of students develops a f(xrnal specification of the requirements for a software system, The tinal pat of the project involves the inspection of the specification by another team of student reviewers The paper presents a rationale for including inspections as part of a formal methods course. It provides a detailed dcscnpticm of the inspection process and repm~s on the application of the process to a specific class project Finally, the paper assesses the results of the use of such a paradigm and discusses how to improve it.
This workshop provides a forum for discussing the current state of the software engineering disci... more This workshop provides a forum for discussing the current state of the software engineering discipline. Position on software engineering issues and problems are presented by participants with experience and perspective from industry, government and academia.
This paper begins with a discussion of the importance of software development and the problems en... more This paper begins with a discussion of the importance of software development and the problems encountered by those trying to work effectively on software project teams. It is argued that for students to be effective in working on teams they need the discipline and organization offered by a rigorous team software process. The author describes his experiences in using the Team Software Process (TSP) to teach an introductory course in software engineering. The structure and key elements of the process are presented, along with techniques used in selecting and forming teams. The paper examines the TSP quality assurance features and finishes with a discussion of the techniques used to acquire feedback and to evaluate the affect of the TSP on student learning.
Software Engineering Practice, 2020
Washington Ada Symposium, Mar 16, 1987
Software Engineering Practice, 2020
Software Engineering Practice, 2020
Software Engineering Practice, 2020
Software Engineering Practice, 2020
Software Engineering Practice, 2020
This textbook explains software engineering through the use of a case study on the software devel... more This textbook explains software engineering through the use of a case study on the software development lifecycle. The case study covers the development of a DigitalHome (DH) System. A set of scenarios that provide a realistic framework for use of the DH System material are included along with exercises that provide students with an opportunity to engage in the software development practice within a team environment. Each chapter includes mini tutorials that introduce various software engineering topics discussed. Teacher notes and other web resources are available upon qualified course adoption.
The use of case studies is an effective method for introducing real-world professional practices ... more The use of case studies is an effective method for introducing real-world professional practices into the classroom. Case studies have become a proven and pervasive method of teaching about professional practice in such fields as business, law, and medicine. The term “case study” is used in a variety of ways. In its most naive form, it simply refers to a realistic example used to illustrate a concept or technique. Although the use of case studies in education has shown success in the above mentioned disciplines, it is yet to be adopted in any significant way in the computing education. In this work, we re-introduce the DigitalHome Case Study, and report on our use of one of the case modules of this case study.