Thomas Hilburn - Academia.edu (original) (raw)

Papers by Thomas Hilburn

Research paper thumbnail of A top-down approach to teaching an introductory computer science course

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.

Research paper thumbnail of Ada and the study of mathematics

Washington Ada Symposium, Mar 16, 1987

Research paper thumbnail of Team Projects in Computing Education

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.

Research paper thumbnail of Session details: Teaching a software project course using the team software process

Research paper thumbnail of Inspections of formal specifications

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.

Research paper thumbnail of Software Engineering - the State of the Profession

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.

Research paper thumbnail of Teams need a process!

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.

Research paper thumbnail of Managing the DH Project

Software Engineering Practice, 2020

Research paper thumbnail of Ada and the study of mathematics

Washington Ada Symposium, Mar 16, 1987

Research paper thumbnail of Designing DigitalHome

Software Engineering Practice, 2020

Research paper thumbnail of Maintaining DigitalHome

Research paper thumbnail of Constructing DigitalHome

Research paper thumbnail of Launching DigitalHome

Research paper thumbnail of Engineering the DH Requirements

Software Engineering Practice, 2020

Research paper thumbnail of Acting Ethically and Professionally

Software Engineering Practice, 2020

Research paper thumbnail of Assuring DigitalHome Quality

Software Engineering Practice, 2020

Research paper thumbnail of Software Engineering Practice

Software Engineering Practice, 2020

Research paper thumbnail of Software Engineering Practice: A Case Study Approach

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.

Research paper thumbnail of Ac 2011-1690: Reporting on the Use of a Software Develop- Ment Case Study in Computing Curricula

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.

Research paper thumbnail of Using the Scrum Development Process

Research paper thumbnail of A top-down approach to teaching an introductory computer science course

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.

Research paper thumbnail of Ada and the study of mathematics

Washington Ada Symposium, Mar 16, 1987

Research paper thumbnail of Team Projects in Computing Education

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.

Research paper thumbnail of Session details: Teaching a software project course using the team software process

Research paper thumbnail of Inspections of formal specifications

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.

Research paper thumbnail of Software Engineering - the State of the Profession

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.

Research paper thumbnail of Teams need a process!

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.

Research paper thumbnail of Managing the DH Project

Software Engineering Practice, 2020

Research paper thumbnail of Ada and the study of mathematics

Washington Ada Symposium, Mar 16, 1987

Research paper thumbnail of Designing DigitalHome

Software Engineering Practice, 2020

Research paper thumbnail of Maintaining DigitalHome

Research paper thumbnail of Constructing DigitalHome

Research paper thumbnail of Launching DigitalHome

Research paper thumbnail of Engineering the DH Requirements

Software Engineering Practice, 2020

Research paper thumbnail of Acting Ethically and Professionally

Software Engineering Practice, 2020

Research paper thumbnail of Assuring DigitalHome Quality

Software Engineering Practice, 2020

Research paper thumbnail of Software Engineering Practice

Software Engineering Practice, 2020

Research paper thumbnail of Software Engineering Practice: A Case Study Approach

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.

Research paper thumbnail of Ac 2011-1690: Reporting on the Use of a Software Develop- Ment Case Study in Computing Curricula

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.

Research paper thumbnail of Using the Scrum Development Process