Jessen Havill | Bucknell University (original) (raw)

Books by Jessen Havill

Research paper thumbnail of Discovering Computer Science, 2nd edition (front matter)

Papers by Jessen Havill

Research paper thumbnail of Visualizing Abstraction

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Analysis of algorithms for online routing and scheduling in networks

Research paper thumbnail of Online Packet Routing on Linear Arrays and Rings

Springer eBooks, 2001

In contrast to classical offline k-k routing, the online packet routing problem allows for an arb... more In contrast to classical offline k-k routing, the online packet routing problem allows for an arbitrary number of packets with arbitrary end points and release times. We study this problem on linear array and ring networks. We generalize an earlier result for the offline problem by showing that Farthest First (FF) scheduling is optimal with respect to makespan on linear arrays. We also show that two other algorithms (Longest in System (LIS) and Moving Priority (MP)) have competitive ratio 2 with respect to makespan on linear arrays. For bidirectional rings, we show that, the competitive ratio of shortest path routing combined with LIS or MP scheduling is in [2.5, 3) and the competitive ratio of shortest path routing combined with FF scheduling is 2. The latter algorithm is optimal among deterministic memoryless algorithms and all algorithms of which we are aware in the literature.

Research paper thumbnail of Growth and Decay

Research paper thumbnail of How to Solve It

Research paper thumbnail of An Introduction to Linux/Unix at Denison

Research paper thumbnail of Panel: Computer scientists wanted! Strategies for increasing interest in computer science

Diverse strategies have been used to improve student awareness and interest in computer science. ... more Diverse strategies have been used to improve student awareness and interest in computer science. Research suggests that by focusing on rich interdisciplinary subfields of the computing discipline, computer science courses will be more appealing to women and other underrepresented groups. Inspired by these findings, the panelists use application areas and games in a variety of venues to engage students in

Research paper thumbnail of Inside a Computer

Research paper thumbnail of Forks in the Road

Research paper thumbnail of Object-oriented Design

Research paper thumbnail of Competitive online scheduling of perfectly malleable jobs with setup times

European Journal of Operational Research, Jun 1, 2008

This article was published in an Elsevier journal. The attached copy is furnished to the author f... more This article was published in an Elsevier journal. The attached copy is furnished to the author for non-commercial research and education use, including for instruction at the author's institution, sharing with colleagues and providing to institution administration. Other uses, including reproduction and distribution, or selling or licensing copies, or posting to personal, institutional or third party websites are prohibited. In most cases authors are permitted to post their version of the article (e.g. in Word or Tex form) to their personal website or institutional repository. Authors requiring further information regarding Elsevier's archiving and manuscript policies are encouraged to visit: http://www.elsevier.com/copyright

Research paper thumbnail of Improved upper bounds for online malleable job scheduling

Journal of Scheduling, Dec 9, 2014

In this paper, we study online algorithms that schedule malleable jobs, i.e., jobs that can be pa... more In this paper, we study online algorithms that schedule malleable jobs, i.e., jobs that can be parallelized on any subset of the available m identical machines. We study a model that accounts for the tradeoff between multiprocessor speedup and overhead time, namely, if job j has processing requirement p j and is assigned to run on k j machines, then j's execution time becomes p j /k j + (k j − 1)c, where c is a constant parameter to the problem. For m = 2, we present an online algorithm OCS that has a strong competitive ratio of 3/2, matching a previously established lower bound. We also present an online algorithm ASYM2 that is asymptotically ((4 −)/(3 −))-competitive when m = 2, where 0 < ≤ 2 is a parameter to the algorithm, improving upon an existing asymptotically (3/2)-competitive algorithm. Finally, we present an online algorithm OTO that is strongly 2-competitive when m = 3, improving upon the previous best upper bound of 9/4.

Research paper thumbnail of Flatland

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Greedy online algorithms for routing permanent virtual circuits

Networks, Sep 1, 1999

We analyze the competitive ratio of two greedy online algorithms for routing permanent virtual ci... more We analyze the competitive ratio of two greedy online algorithms for routing permanent virtual circuits in a network with arbitrary topology and uniform capacity links. We show that the competitive ratio of the first algorithm, with respect to network congestion, is in ⍀(͌ Ᏸm) and O(͌ Ᏸᏸm), where m is the number of links in the network, Ᏸ is the maximum ratio, over all requests, of the length of the longest path for the request to the length of the shortest path for the request, and ᏸ is the ratio of the maximum-tominimum bandwidth requirement. We show that the competitive ratio of the second greedy algorithm is in ⍀(d ϩ log(n Ϫ d)) and min{O(d log n), O(͌ Ᏸᏸm)} when the optimal route assignment is pairwise edge disjoint, where n is the number of network nodes and d is the length of the longest path that can be assigned to a request. It is known that the optimal competitive ratio for this problem is ⌰(log n). Aspnes et al. designed a ⌰(log n) competitive online algorithm that computes an exponential function of current congestion to make each decision. The greedy online algorithms, although not optimal, make each decision more quickly and still have good competitive ratios in many nontrivial situations.

Research paper thumbnail of Data Analysis

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Organizing Data

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Discovering Computer Science : Interdisciplinary Problems, Principles, and Python Programming

Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming intr... more Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming introduces computational problem solving as a vehicle of discovery in a wide variety of disciplines. With a principles-oriented introduction to computational thinking, the text provides a broader and deeper introduction to computer science than typical introductory programming books. Organized around interdisciplinary problem domains, rather than programming language features, each chapter guides students through increasingly sophisticated algorithmic and programming techniques. The author uses a spiral approach to introduce Python language features in increasingly complex contexts as the book progresses. The text places programming in the context of fundamental computer science principles, such as abstraction, efficiency, and algorithmic techniques, and offers overviews of fundamental topics that are traditionally put off until later courses. The book includes thirty well-developed independent projects that encourage students to explore questions across disciplinary boundaries. Each is motivated by a problem that students can investigate by developing algorithms and implementing them as Python programs. The book's accompanying website http://discoverCS.denison.edu includes sample code and data files, pointers for further exploration, errata, and links to Python language references. Containing over 600 homework exercises and over 300 integrated reflection questions, this textbook is appropriate for a first computer science course for computer science majors, an introductory scientific computing course or, at a slower pace, any introductory computer science course.

Research paper thumbnail of Discovering Computer Science

Chapman and Hall/CRC eBooks, Sep 26, 2020

Reading a table of temperatures 336 Tangent 8.1 Pandas 339 8.2 THE GAME OF LIFE 342 Creating a gr... more Reading a table of temperatures 336 Tangent 8.1 Pandas 339 8.2 THE GAME OF LIFE 342 Creating a grid 344 Initial configurations 345 Surveying the neighborhood 346 Performing one pass 347 Tangent 8.2 NumPy arrays in two dimensions 349 Updating the grid 349 8.3 DIGITAL IMAGES 353 Colors 353 Tangent 8.3 Additive vs. subtractive color models 354 Image filters 355 Tangent 8.4 Image storage and compression 356 Transforming images 358 8.4 SUMMARY AND FURTHER DISCOVERY 363 *8.5 PROJECTS *** 8.1 Modeling segregation 8.2 Modeling ferromagnetism 8.3 Growing dendrites 8.4 Simulating an epidemic Chapter 9 ∎ Self-similarity and Recursion 365 9.1 FRACTALS 365 Trees 367 Snowflakes 369 9.2 RECURSION AND ITERATION 375 Solving a problem recursively 379 Palindromes 380 Guessing passwords 382 9.3 THE MYTHICAL TOWER OF HANOI 388 *Is the end of the world nigh? 390 9.4 RECURSIVE LINEAR SEARCH 392 xii • Contents *Efficiency of recursive linear search 393 9.5 DIVIDE AND CONQUER 396 Buy low, sell high 397 Navigating a maze 400

Research paper thumbnail of Online malleable job scheduling for

Information Processing Letters, Dec 1, 2010

A malleable parallel job is one that may be assigned to any number of processors in a parallel co... more A malleable parallel job is one that may be assigned to any number of processors in a parallel computing environment. In our particular problem, we assume that the execution time of a job j with processing requirement p j is p j /k j + (k j − 1)c if the job is assigned to k j ∈ {1, 2,. .. , m} processors, where c is a constant representing overhead and m is the number of processors. We provide online algorithms for m = 2 and m = 3 with asymptotically optimal competitive ratios of 3/2 and 5/3, respectively. We also provide a similar online algorithm for the more general problem with job dependent overhead term c j that has optimal competitive ratio φ = (1+ √ 5)/2.

Research paper thumbnail of Visualizing Abstraction

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Analysis of algorithms for online routing and scheduling in networks

Research paper thumbnail of Online Packet Routing on Linear Arrays and Rings

Springer eBooks, 2001

In contrast to classical offline k-k routing, the online packet routing problem allows for an arb... more In contrast to classical offline k-k routing, the online packet routing problem allows for an arbitrary number of packets with arbitrary end points and release times. We study this problem on linear array and ring networks. We generalize an earlier result for the offline problem by showing that Farthest First (FF) scheduling is optimal with respect to makespan on linear arrays. We also show that two other algorithms (Longest in System (LIS) and Moving Priority (MP)) have competitive ratio 2 with respect to makespan on linear arrays. For bidirectional rings, we show that, the competitive ratio of shortest path routing combined with LIS or MP scheduling is in [2.5, 3) and the competitive ratio of shortest path routing combined with FF scheduling is 2. The latter algorithm is optimal among deterministic memoryless algorithms and all algorithms of which we are aware in the literature.

Research paper thumbnail of Growth and Decay

Research paper thumbnail of How to Solve It

Research paper thumbnail of An Introduction to Linux/Unix at Denison

Research paper thumbnail of Panel: Computer scientists wanted! Strategies for increasing interest in computer science

Diverse strategies have been used to improve student awareness and interest in computer science. ... more Diverse strategies have been used to improve student awareness and interest in computer science. Research suggests that by focusing on rich interdisciplinary subfields of the computing discipline, computer science courses will be more appealing to women and other underrepresented groups. Inspired by these findings, the panelists use application areas and games in a variety of venues to engage students in

Research paper thumbnail of Inside a Computer

Research paper thumbnail of Forks in the Road

Research paper thumbnail of Object-oriented Design

Research paper thumbnail of Competitive online scheduling of perfectly malleable jobs with setup times

European Journal of Operational Research, Jun 1, 2008

This article was published in an Elsevier journal. The attached copy is furnished to the author f... more This article was published in an Elsevier journal. The attached copy is furnished to the author for non-commercial research and education use, including for instruction at the author's institution, sharing with colleagues and providing to institution administration. Other uses, including reproduction and distribution, or selling or licensing copies, or posting to personal, institutional or third party websites are prohibited. In most cases authors are permitted to post their version of the article (e.g. in Word or Tex form) to their personal website or institutional repository. Authors requiring further information regarding Elsevier's archiving and manuscript policies are encouraged to visit: http://www.elsevier.com/copyright

Research paper thumbnail of Improved upper bounds for online malleable job scheduling

Journal of Scheduling, Dec 9, 2014

In this paper, we study online algorithms that schedule malleable jobs, i.e., jobs that can be pa... more In this paper, we study online algorithms that schedule malleable jobs, i.e., jobs that can be parallelized on any subset of the available m identical machines. We study a model that accounts for the tradeoff between multiprocessor speedup and overhead time, namely, if job j has processing requirement p j and is assigned to run on k j machines, then j's execution time becomes p j /k j + (k j − 1)c, where c is a constant parameter to the problem. For m = 2, we present an online algorithm OCS that has a strong competitive ratio of 3/2, matching a previously established lower bound. We also present an online algorithm ASYM2 that is asymptotically ((4 −)/(3 −))-competitive when m = 2, where 0 < ≤ 2 is a parameter to the algorithm, improving upon an existing asymptotically (3/2)-competitive algorithm. Finally, we present an online algorithm OTO that is strongly 2-competitive when m = 3, improving upon the previous best upper bound of 9/4.

Research paper thumbnail of Flatland

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Greedy online algorithms for routing permanent virtual circuits

Networks, Sep 1, 1999

We analyze the competitive ratio of two greedy online algorithms for routing permanent virtual ci... more We analyze the competitive ratio of two greedy online algorithms for routing permanent virtual circuits in a network with arbitrary topology and uniform capacity links. We show that the competitive ratio of the first algorithm, with respect to network congestion, is in ⍀(͌ Ᏸm) and O(͌ Ᏸᏸm), where m is the number of links in the network, Ᏸ is the maximum ratio, over all requests, of the length of the longest path for the request to the length of the shortest path for the request, and ᏸ is the ratio of the maximum-tominimum bandwidth requirement. We show that the competitive ratio of the second greedy algorithm is in ⍀(d ϩ log(n Ϫ d)) and min{O(d log n), O(͌ Ᏸᏸm)} when the optimal route assignment is pairwise edge disjoint, where n is the number of network nodes and d is the length of the longest path that can be assigned to a request. It is known that the optimal competitive ratio for this problem is ⌰(log n). Aspnes et al. designed a ⌰(log n) competitive online algorithm that computes an exponential function of current congestion to make each decision. The greedy online algorithms, although not optimal, make each decision more quickly and still have good competitive ratios in many nontrivial situations.

Research paper thumbnail of Data Analysis

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Organizing Data

Chapman and Hall/CRC eBooks, Sep 26, 2020

Research paper thumbnail of Discovering Computer Science : Interdisciplinary Problems, Principles, and Python Programming

Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming intr... more Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming introduces computational problem solving as a vehicle of discovery in a wide variety of disciplines. With a principles-oriented introduction to computational thinking, the text provides a broader and deeper introduction to computer science than typical introductory programming books. Organized around interdisciplinary problem domains, rather than programming language features, each chapter guides students through increasingly sophisticated algorithmic and programming techniques. The author uses a spiral approach to introduce Python language features in increasingly complex contexts as the book progresses. The text places programming in the context of fundamental computer science principles, such as abstraction, efficiency, and algorithmic techniques, and offers overviews of fundamental topics that are traditionally put off until later courses. The book includes thirty well-developed independent projects that encourage students to explore questions across disciplinary boundaries. Each is motivated by a problem that students can investigate by developing algorithms and implementing them as Python programs. The book's accompanying website http://discoverCS.denison.edu includes sample code and data files, pointers for further exploration, errata, and links to Python language references. Containing over 600 homework exercises and over 300 integrated reflection questions, this textbook is appropriate for a first computer science course for computer science majors, an introductory scientific computing course or, at a slower pace, any introductory computer science course.

Research paper thumbnail of Discovering Computer Science

Chapman and Hall/CRC eBooks, Sep 26, 2020

Reading a table of temperatures 336 Tangent 8.1 Pandas 339 8.2 THE GAME OF LIFE 342 Creating a gr... more Reading a table of temperatures 336 Tangent 8.1 Pandas 339 8.2 THE GAME OF LIFE 342 Creating a grid 344 Initial configurations 345 Surveying the neighborhood 346 Performing one pass 347 Tangent 8.2 NumPy arrays in two dimensions 349 Updating the grid 349 8.3 DIGITAL IMAGES 353 Colors 353 Tangent 8.3 Additive vs. subtractive color models 354 Image filters 355 Tangent 8.4 Image storage and compression 356 Transforming images 358 8.4 SUMMARY AND FURTHER DISCOVERY 363 *8.5 PROJECTS *** 8.1 Modeling segregation 8.2 Modeling ferromagnetism 8.3 Growing dendrites 8.4 Simulating an epidemic Chapter 9 ∎ Self-similarity and Recursion 365 9.1 FRACTALS 365 Trees 367 Snowflakes 369 9.2 RECURSION AND ITERATION 375 Solving a problem recursively 379 Palindromes 380 Guessing passwords 382 9.3 THE MYTHICAL TOWER OF HANOI 388 *Is the end of the world nigh? 390 9.4 RECURSIVE LINEAR SEARCH 392 xii • Contents *Efficiency of recursive linear search 393 9.5 DIVIDE AND CONQUER 396 Buy low, sell high 397 Navigating a maze 400

Research paper thumbnail of Online malleable job scheduling for

Information Processing Letters, Dec 1, 2010

A malleable parallel job is one that may be assigned to any number of processors in a parallel co... more A malleable parallel job is one that may be assigned to any number of processors in a parallel computing environment. In our particular problem, we assume that the execution time of a job j with processing requirement p j is p j /k j + (k j − 1)c if the job is assigned to k j ∈ {1, 2,. .. , m} processors, where c is a constant representing overhead and m is the number of processors. We provide online algorithms for m = 2 and m = 3 with asymptotically optimal competitive ratios of 3/2 and 5/3, respectively. We also provide a similar online algorithm for the more general problem with job dependent overhead term c j that has optimal competitive ratio φ = (1+ √ 5)/2.

Research paper thumbnail of On-line Algorithms for Hybrid Flow Shop S heduling