{"id":"https://openalex.org/W2001644383","doi":"https://doi.org/10.1145/1141904.1141907","title":"Constructing contracts","display_name":"Constructing contracts","publication_year":2005,"publication_date":"2005-06-01","ids":{"openalex":"https://openalex.org/W2001644383","doi":"https://doi.org/10.1145/1141904.1141907","mag":"2001644383"},"language":"en","primary_location":{"id":"doi:10.1145/1141904.1141907","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1141904.1141907","pdf_url":null,"source":{"id":"https://openalex.org/S4210208609","display_name":"Journal on Educational Resources in Computing","issn_l":"1531-4278","issn":["1531-4278"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal on Educational Resources in Computing","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5078279042","display_name":"Timothy S. Gegg-Harrison","orcid":null},"institutions":[{"id":"https://openalex.org/I5795714","display_name":"Winona State University","ror":"https://ror.org/00kmxt141","country_code":"US","type":"education","lineage":["https://openalex.org/I5795714","https://openalex.org/I91221267"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Timothy S. Gegg-Harrison","raw_affiliation_strings":["Winona State University, Winona, MN"],"affiliations":[{"raw_affiliation_string":"Winona State University, Winona, MN","institution_ids":["https://openalex.org/I5795714"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5078279042"],"corresponding_institution_ids":["https://openalex.org/I5795714"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.09942014,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"5","issue":"2","first_page":"3","last_page":"3"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/precondition","display_name":"Precondition","score":0.960746169090271},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.9298457503318787},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.7528777122497559},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.718488872051239},{"id":"https://openalex.org/keywords/predicate-transformer-semantics","display_name":"Predicate transformer semantics","score":0.6524019241333008},{"id":"https://openalex.org/keywords/relevance","display_name":"Relevance (law)","score":0.643546998500824},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6114365458488464},{"id":"https://openalex.org/keywords/axiom","display_name":"Axiom","score":0.6043637990951538},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.4755549132823944},{"id":"https://openalex.org/keywords/field","display_name":"Field (mathematics)","score":0.46246784925460815},{"id":"https://openalex.org/keywords/design-by-contract","display_name":"Design by contract","score":0.4336315095424652},{"id":"https://openalex.org/keywords/order","display_name":"Order (exchange)","score":0.42472559213638306},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.15577876567840576},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.08778411149978638},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.08657333254814148},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.07144597172737122},{"id":"https://openalex.org/keywords/law","display_name":"Law","score":0.066639244556427}],"concepts":[{"id":"https://openalex.org/C192465680","wikidata":"https://www.wikidata.org/wiki/Q1413450","display_name":"Precondition","level":2,"score":0.960746169090271},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.9298457503318787},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.7528777122497559},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.718488872051239},{"id":"https://openalex.org/C30128091","wikidata":"https://www.wikidata.org/wiki/Q291929","display_name":"Predicate transformer semantics","level":4,"score":0.6524019241333008},{"id":"https://openalex.org/C158154518","wikidata":"https://www.wikidata.org/wiki/Q7310970","display_name":"Relevance (law)","level":2,"score":0.643546998500824},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6114365458488464},{"id":"https://openalex.org/C167729594","wikidata":"https://www.wikidata.org/wiki/Q17736","display_name":"Axiom","level":2,"score":0.6043637990951538},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.4755549132823944},{"id":"https://openalex.org/C9652623","wikidata":"https://www.wikidata.org/wiki/Q190109","display_name":"Field (mathematics)","level":2,"score":0.46246784925460815},{"id":"https://openalex.org/C80291951","wikidata":"https://www.wikidata.org/wiki/Q1200691","display_name":"Design by contract","level":5,"score":0.4336315095424652},{"id":"https://openalex.org/C182306322","wikidata":"https://www.wikidata.org/wiki/Q1779371","display_name":"Order (exchange)","level":2,"score":0.42472559213638306},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15577876567840576},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.08778411149978638},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.08657333254814148},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.07144597172737122},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.066639244556427},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.0},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1141904.1141907","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1141904.1141907","pdf_url":null,"source":{"id":"https://openalex.org/S4210208609","display_name":"Journal on Educational Resources in Computing","issn_l":"1531-4278","issn":["1531-4278"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal on Educational Resources in Computing","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W1502939989","https://openalex.org/W1503719891","https://openalex.org/W1522809628","https://openalex.org/W1555946950","https://openalex.org/W1556422878","https://openalex.org/W1783929070","https://openalex.org/W1983876572","https://openalex.org/W1987064735","https://openalex.org/W2015937909","https://openalex.org/W2046739984","https://openalex.org/W2052363833","https://openalex.org/W2103953153","https://openalex.org/W2114366801","https://openalex.org/W2147543351","https://openalex.org/W2151131364","https://openalex.org/W2987907651","https://openalex.org/W3146075203","https://openalex.org/W4252293411","https://openalex.org/W4253645963","https://openalex.org/W6630329516","https://openalex.org/W6681575368"],"related_works":["https://openalex.org/W4297852701","https://openalex.org/W2782958832","https://openalex.org/W33800742","https://openalex.org/W1605128268","https://openalex.org/W2114366801","https://openalex.org/W2001644383","https://openalex.org/W2536902987","https://openalex.org/W1986996553","https://openalex.org/W2798762912","https://openalex.org/W2167301299"],"abstract_inverted_index":{"Although":[0],"computer":[1,15],"scientists":[2],"understand":[3],"the":[4,10,23,51,70,81,91,136,141,151,154,167,171,175,182],"importance":[5],"of":[6,12,40,50,67,80,135,166,173,174,181],"discrete":[7],"mathematics":[8],"to":[9,29,33,93,102,143,185],"foundations":[11],"their":[13],"field,":[14],"science":[16],"(CS)":[17],"students":[18,35,57,86],"do":[19],"not":[20],"always":[21],"see":[22],"relevance.":[24,37],"Thus,":[25,170],"it":[26,59],"is":[27,43,73,178],"important":[28],"find":[30],"a":[31,129,146,179],"way":[32],"show":[34],"its":[36],"The":[38,65],"concept":[39,66],"program":[41,105],"correctness":[42,106,177],"generally":[44,74],"taught":[45,75],"as":[46,60,76],"an":[47,77,111,163,187],"activity":[48],"independent":[49],"programming":[52,82],"process,":[53],"hence":[54],"many":[55],"CS":[56,85],"perceive":[58],"unnecessary,":[61],"and":[62,98,131],"even":[63],"irrelevant.":[64],"contracts,":[68],"on":[69],"other":[71],"hand,":[72],"integral":[78],"part":[79],"process.":[83],"Most":[84],"have":[87],"little":[88],"difficulty":[89],"understanding":[90],"need":[92,184],"establish":[94],"contracts":[95],"via":[96],"preconditions":[97],"postconditions.":[99],"In":[100],"order":[101],"improve":[103],"teaching":[104],"concepts,":[107],"we":[108],"implemented":[109],"ProVIDE,":[110],"enhanced":[112],"integrated":[113],"development":[114],"environment":[115],"(IDE).":[116],"ProVIDE":[117,139,148],"assists":[118],"student":[119,142,152],"programmers":[120],"in":[121],"contract":[122],"construction.":[123],"Rather":[124],"than":[125],"asking":[126],"for":[127,133],"both":[128],"precondition":[130,156],"postcondition":[132],"each":[134],"student's":[137,183],"methods,":[138],"asks":[140],"simply":[144],"supply":[145],"postcondition.":[147],"then":[149],"helps":[150],"construct":[153,186],"appropriate":[155,188],"by":[157],"leading":[158],"him":[159],"or":[160],"her":[161],"through":[162],"axiomatic":[164],"proof":[165,172],"method's":[168,176],"correctness.":[169],"side-effect":[180],"precondition.":[189]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2013,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
