Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore How to Design Programs – An Introduction to Programming & Computing:

How to Design Programs – An Introduction to Programming & Computing:

Published by Willington Island, 2021-07-18 04:26:55

Description: This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills-critical reading, analytical thinking, creative synthesis, and attention to detail-that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners.

Search

Read the Text Version

["backtracking, [2], [3] ball, [2] base case bbb begin below, [2], [3] below-ir1 below1 below3 beta (\u00df ) axiom Big-O binary-search-tree, [2] binary-tree, [2], [3] blue-eyed-ancestor, [2] blue-eyed-children blue-eyed-descendant, [2] board-ref, [2] board-set! body, [2] boolean boyfriend, [2], [3], [4], [5], [6] BST YBT, [2] Lbuild-board, [2] build-list Fbuild-number build-vector AMcampus tour Ebag Tcurrent location card game hand suit CD, [2], [3], [4], [5], [6] CD cell change-number, [2] change-to-3 check check-call-back checked function checked-area-of-disk, [2], [3] cheerleader, [2], [3], [4], [5], [6], [7] chess-board child, [2], [3] Church, Alonzo circle -550- TEAM FLY PRESENTS","circle, [2], [3] circle-pt claim atomic compound Clinger, William comment compound data cond answer else question cond, [2] condition atomic compound condition (cond), [2] conditional function connect connect-dots connect-nodes, [2] cons constructor, [2], [3] Ygeneralized, [2] Lcontains contains-car Fcontains-doll, [2], [3], [4] continuous Mcontract, [2], [3], [4], [5], [6], [7], [8], [9], [10] control (MVC) AconvertCF, [2] EconvertCF-from-map Tcopy cost, [2] costs count-vowels, [2], [3] count-vowels-bv create-dir create-hand, [2] create-inex create-node, [2] d\/dx data atomic compound functional mixed union -551- TEAM FLY PRESENTS","data analysis, [2], [3], [4], [5] data definition, [2], [3], [4], [5], [6] compound data cross-references enumerations intervals mixed data mutually recursive mutually referential parametric recursive self-referential structure symbols deep-list definition, [2], [3], [4], [5], [6], [7] data function, [2], [3], [4], [5], [6], [7] local structure, [2], [3], [4], [5], [6] top-level variable, [2], [3], [4], [5] definition window, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], Y[18], [19], [20], [21], [22], [23], [24], [25], [26], [27] Ldesign recipe, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12] abstraction, [2] Faccumulators algorithms Mcomposing functions, [2] compound data, [2] Aintervals, enumerations, [2], [3] Ememory, [2] Tmixed data, [2] mutually referential data recursive data, [2] two inputs differentiation dir list-of-directories dir, [2] dir, [2] direction directory list-of-files list-of-files-and-directories root directory, [2] directory tree displacement displacement, [2] -552- TEAM FLY PRESENTS","distance-to-0, [2], [3], [4] distributivity DNA pattern domain knowledge, [2] draw-and-clear draw-light draw-polygon, [2] DVD e-power e-taylor echo-choice echo-message effect, [2], [3], [4] elow2 encapsulation, [2] entry entry, [2], [3] TEAMFLY eq-ir, [2] eq-posn, [2] equal-posn equality extensional intensional numeric structural testing, [2] equation degenerate line linear combination non-linear proper solution, [2] systems of equation1 error error logical, [2], [3] overflow run-time, [2] syntax, [2] underflow evaluation, [2], [3], [4], [5], [6], [7] context effect, [2], [3], [4] lambda local -553- TEAM FLY PRESENTS","sequencing examples, [2], [3], [4], [5], [6], [7] exponent expression and, [2], [3], [4], [5] arithmetic atomic begin compound conditional, [2], [3], [4], [5] local, [2], [3], [4] nested, [2], [3], [4] numeric or, [2] set!, [2] variable extract1, [2] f-make-posn f-posn-x f-posn-y family tree Yancestor Ldescendant family-tree-node, [2], [3] Ffile, [2] newline Mfile, [2], [3] file Afile of numbers Efile system Tfile -> list-of-lines file -> list-of-lines filter, [2] filter filter1, [2], [3], [4] filter2 find, [2], [3] find-new-left find-new-right find-root, [2] find-root-tangent find-route, [2] find-route\/list first first first-line fm-make-posn fm-posn-x -554- TEAM FLY PRESENTS","fm-posn-y fm-set-posn-x fm-set-posn-y folder foldl foldr for-interval formal arguments fractals Friedman, Daniel P., [2] ftn, [2], [3] function application, [2], [3], [4], [5], [6], [7] call-back checked composition, [2] continuous generic initialization polymorphic root table function definition, [2], [3], [4], [5], [6], [7] Yfunctional abstraction Lfunctions mutually recursive MFg-series gcd Agcd-generative Egcd-structural Tgeneral-quick-sort gift-pick girlfriends global scope graph directed edges neighbors nodes simple, [2] graph graphical user interface (GUI) GUI, [2] buttons choice menus sequences text fields -555- TEAM FLY PRESENTS","gui-item gui-table hand hand hangman chosen word, [2] guess, [2] letter, [2] status word, [2] word hangman hangman-guess, [2] Harper, Robert, [2] header, [2], [3], [4], [5], [6], [7], [8], [9] height hellos hide hours -> wages, [2], [3], [4] how-many, [2], [3] how-many-in-list LYimage in-interval-1 Fin-interval-2 in-interval-3 Min-place sort in-place-sort, [2], [3], [4] Aincrease-salary, [2] Eincrease-x Tincrement-sales, [2], [3] increment-vec-lr increment-vec-rl inex inex -> number inexact arithmetic infinite loop init-address-book init-traffic-light init-traffic-light@cmu init-traffic-light@rice input input variables insert, [2], [3], [4] integrate integration, [2] adaptive Kepler's rule -556- TEAM FLY PRESENTS","trapezoid interaction, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29] interest-rate, [2], [3], [4], [5], [6], [7] interface interval, [2], [3], [4], [5], [6], [7] boundary invariant accumulator data inventory inventory-record invert, [2], [3] IR ir ir, [2] is-5 is-between-5-6 is-between-5-6-or-over-10 is-prime iterative method iterative refinement, [2], [3], [4], [5], [6], [7], [8] LYJackson, Michael A. FKelsey, Richard AMLam Elambda (lambda ) calculus Tlanguage level larger-items last, [2] last-occurrence left-hand side, [2] length length-ir length-lon letter lexical scope list-of-3-numbers list-of-children list-of-number\/name list-of-numbers list-of-posns list-of-symbols, [2], [3] list-pick list-sum -557- TEAM FLY PRESENTS","list-sum-aux list= listof local, [2], [3], [4] locally defined LOFD lookup, [2] lookup-node loop, [2] lr-vector-sum mail mail-message main function make-address-book make-chess-board make-counter make-even make-last-item TEAMFLY make-odd make-traffic-light, [2] mantissa many map map master max, [2], [3] max2 meaning method iterative recursive Meyer, Albert mid mid-point min model, [2], [3], [4] model (MVC) model-view-control (MVC) move move-ball move-circle move-rectangle move-shape move-until-out, [2] movie, [2], [3], [4], [5], [6] mul mult10 music-item -558- TEAM FLY PRESENTS","mutator, [2], [3], [4] mutually recursive, [2], [3] mutually referential my-divide n-adder names, [2] names-from-map natural-number neighbor neighbors, [2] net pay new-item newton next, [2] next-color next-color@cmu next-color@rice next@cmu TEAMFLY next@rice node family-tree-node node, [2], [3] node, [2], [3], [4], [5] node-in-a-family-tree non-empty-list number exact inexact numeric analysis O occurrence binding bound free operation primitive, [2], [3], [4], [5] relational operations or, [2] order-of (Big-O) ormap our-cons, [2], [3] our-first our-rest out-of-bounds output -559- TEAM FLY PRESENTS","pair, [2] pair, [2] parameters, [2] parametric parent list of children parent, [2] parent, [2] partition, [2], [3] path pattern perimeter, [2], [3] permutation person person personnel phone-record pi ( ) pixel pixel-2 place-queen Plotkin, Gordon Ypoint Lpoly polygon Fposn posn, [2], [3] Mpredicate, [2], [3] primitive operation, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11] Aprocess-student Eproduct, [2], [3], [4], [5] Tproduct-from-20, [2] profit profit, [2] programming language, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32] functional object-oriented programs proper-blue-eyed-ancestor, [2] purpose, [2], [3], [4], [5], [6], [7] purpose statement qsort qsort-aux queen threatens question -560- TEAM FLY PRESENTS","question (cond) quick-sort, [2], [3] quick-sort re, [2] record recursion generative, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15] natural, [2], [3], [4], [5], [6], [7], [8], [9] structural, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14] recursive method reduce Rees, Jonathan rel-2-abs, [2] relational operation relative-2-absolute relative-2-absolute2 remove remove-first-line remove-last, [2], [3] replace-eol-with reply Yreset, [2] Lreset-aux reset-interval Fresponse rest Mrest reveal-list, [2], [3], [4], [5] Arevenue Erevenue, [2] Trewriting right-hand side, [2], [3] root route-exists, [2], [3], [4], [5], [6], [7] route-exists-accu route-exists2 rr run-time error running time scope, [2] search binary linear, [2] search selector, [2], [3], [4], [5], [6], [7], [8] semantics -561- TEAM FLY PRESENTS","sequence arithmetic factor geometric starting point, [2] summand sequence series closed form Taylor series series-even series-even1 series-odd series-odd1 service-manager, [2] set!, [2], [3] set-to-2 Sexpr shape TEAMFLY circle center circumference perimeter polygon rectangle height upper left width translation shape, [2], [3], [4] sharing, [2] sierpinski, [2] simple-graph, [2] simple-graph-node single point of control size Slist smaller-items, [2] solitaire enabled sort in-place insertion merge quicksort sort, [2], [3], [4], [5], [6] sort-aux sort2-aux sorted-insert -562- TEAM FLY PRESENTS","speed-vector square, [2] square, [2], [3], [4] squared10 squaredgt star, [2] star, [2], [3], [4], [5], [6], [7], [8], [9] state variables Steele, Guy L., Jr. string structure constructor, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11] mutator, [2], [3] predicate, [2], [3] selector, [2], [3], [4], [5], [6], [7], [8] structure definition, [2], [3], [4], [5] student student, [2] subst-teacher sum, [2], [3], [4], [5], [6], [7], [8] Sussman, Gerald swap-x-y, [2], [3] sweater, [2], [3], [4], [5] Yswitch, [2] Lswitch-forever switch-x Fsymbol syntax AMtable Etabulate-f-up-to-20 Ttabulate-sin tabulate-sqrt Talcott, Carolyn tape targets template, [2], [3], [4], [5], [6] termination argument test-for-address-book test-hours -> wages testing, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15] TL-color to-blue-eyed-ancestor transfer translation tree family-tree-node, [2], [3] tree trivial -563- TEAM FLY PRESENTS","trivially solvable type type variable unplace-queen user interface graphical interactive variable state variable definition, [2], [3], [4], [5] variable expression vec vec vec-for-all vector mutation, [2], [3] scalar product vector-sum, [2], [3] vector-sum-aux, [2], [3] Yvector-sum-for-3 Lvectorof view (MVC) MFwage, [2], [3], [4] Web page Aembedded Eimmediately embedded TWeb-document Web-page, [2], [3] web= weekly-wage wish list word WP, [2], [3] -564- TEAM FLY PRESENTS","Part VI Accumulating Knowledge TEAMFLY -565- TEAM FLY PRESENTS"]


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook