{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:38:22Z","timestamp":1750307902367,"version":"3.41.0"},"reference-count":3,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2007,6,1]],"date-time":"2007-06-01T00:00:00Z","timestamp":1180656000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGCSE Bull."],"published-print":{"date-parts":[[2007,6]]},"abstract":"<jats:p>Computer programming teaching should include problem analysis and a hierarchical decomposition of objects and actions that enable programmers to develop meaningful models of objects and multi-layered interfaces and thus be able to choose the level of complexity and protection they need. Programmers are expected to use error-detecting and correcting codes. Application development should include evaluation methods that could assess design solutions during program development and avoid errors during program execution. We discuss a software development and test diagram and programming project requirements.<\/jats:p>","DOI":"10.1145\/1272848.1272898","type":"journal-article","created":{"date-parts":[[2007,9,14]],"date-time":"2007-09-14T13:44:55Z","timestamp":1189777495000},"page":"142-145","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Learning computer programming and role of errors in design"],"prefix":"10.1145","volume":"39","author":[{"given":"Gennady","family":"Lomako","sequence":"first","affiliation":[{"name":"New York Institute of Technology, New York, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2007,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1138403.1138430"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1101670.1101671"},{"key":"e_1_2_1_3_1","first-page":"2","article-title":"Accessibility of Analysis of Algorithms: from programming to problem solving","volume":"21","author":"Assiter K. V.","year":"2005","journal-title":"Journal of Computing Sciences in Colleges"}],"container-title":["ACM SIGCSE Bulletin"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1272848.1272898","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1272848.1272898","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T14:47:36Z","timestamp":1750258056000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1272848.1272898"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,6]]},"references-count":3,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2007,6]]}},"alternative-id":["10.1145\/1272848.1272898"],"URL":"https:\/\/doi.org\/10.1145\/1272848.1272898","relation":{},"ISSN":["0097-8418"],"issn-type":[{"type":"print","value":"0097-8418"}],"subject":[],"published":{"date-parts":[[2007,6]]},"assertion":[{"value":"2007-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}