{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,4]],"date-time":"2026-03-04T03:24:07Z","timestamp":1772594647496,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":30,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,11,18]],"date-time":"2019-11-18T00:00:00Z","timestamp":1574035200000},"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":[],"published-print":{"date-parts":[[2019,11,18]]},"DOI":"10.1145\/3375258.3375267","type":"proceedings-article","created":{"date-parts":[[2020,3,7]],"date-time":"2020-03-07T12:07:50Z","timestamp":1583582870000},"page":"66-78","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["A class project to prepare software engineering students for their capstone projects"],"prefix":"10.1145","author":[{"given":"Justus","family":"Posthuma","sequence":"first","affiliation":[{"name":"University of Stellenbosch"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vreda","family":"Pieterse","sequence":"additional","affiliation":[{"name":"University of Pretoria"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stacey","family":"Baror","sequence":"additional","affiliation":[{"name":"University of Pretoria"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,3,7]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"2011 27th IEEE International Conference on Software Maintenance (ICSM). IEEE Computer Society","author":"Bakota T.","year":"2011"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR-WCRE.2014.6747214"},{"key":"e_1_3_2_1_3_1","volume-title":"Proceedings of the Computer Science Education Research Conference (CSERC '14)","author":"Achilleas L."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.303623"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tele.2017.02.001"},{"key":"e_1_3_2_1_6_1","unstructured":"Carl Crowder. 2014. Prospector - Python Static Analysis. https:\/\/pypi.org\/project\/prospector2. Accessed: 2019-10-30.  Carl Crowder. 2014. Prospector - Python Static Analysis. https:\/\/pypi.org\/project\/prospector2. Accessed: 2019-10-30."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1979.234165"},{"key":"e_1_3_2_1_8_1","unstructured":"Andreas Dangel. 2012. An extensible cross-language static code analyzer. https:\/\/pmd.github.io. Accessed: 2019-10-30.  Andreas Dangel. 2012. An extensible cross-language static code analyzer. https:\/\/pmd.github.io. Accessed: 2019-10-30."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.2316\/P.2015.829-018"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/AICERA.2012.6306699"},{"key":"e_1_3_2_1_11_1","first-page":"829","article-title":"Monitoring indicators for CTMTC: Comprehensive Training Model of the Teamwork Competence in Engineering Domain","volume":"31","author":"Fidalgo-Blanco \u00c1ngel","year":"2015","journal-title":"The International Journal of Engineering Education"},{"key":"e_1_3_2_1_12_1","unstructured":"Ken Hall. 2017. JHawk Product Overview. http:\/\/www.virtualmachinery.com\/jhawkprod.htm. Accessed: 2019-10-30.  Ken Hall. 2017. JHawk Product Overview. http:\/\/www.virtualmachinery.com\/jhawkprod.htm. Accessed: 2019-10-30."},{"key":"e_1_3_2_1_13_1","unstructured":"Maurice H. Halstead. 1977. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc. New York NY USA.  Maurice H. Halstead. 1977. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc. New York NY USA."},{"key":"e_1_3_2_1_14_1","unstructured":"Kim Kangho. 2018. Detecting JavaScript Errors and Code Smells with Static Analysis. https:\/\/deepscan.io\/docs\/whitepapers\/deepscan_detecting-javascript-errors-and-code-smells-with-static-analysis.pdf?utm_source=deepscan&utm_medium=docs. Accessed: 2019-10-30.  Kim Kangho. 2018. Detecting JavaScript Errors and Code Smells with Static Analysis. https:\/\/deepscan.io\/docs\/whitepapers\/deepscan_detecting-javascript-errors-and-code-smells-with-static-analysis.pdf?utm_source=deepscan&utm_medium=docs. Accessed: 2019-10-30."},{"key":"e_1_3_2_1_15_1","volume-title":"2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). SANER - IEEE Computer Society","author":"Lad\u00e1nyi G.","year":"2015"},{"key":"e_1_3_2_1_16_1","first-page":"3","article-title":"Python Based Software for Calculating Cyclomatic Complexity","volume":"2","author":"Malhotra Pooja","year":"2015","journal-title":"IJISET - International Journal of Innovative Science, Engineering & Technology"},{"key":"e_1_3_2_1_18_1","article-title":"Exploration of Participation in Student Software Engineering Teams","volume":"16","author":"Marshall Linda","year":"2016","journal-title":"ACM Transactions on Computing Education (TOCE)"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233837"},{"key":"e_1_3_2_1_20_1","article-title":"Using UML Modeling to Facilitate Three-Tier Architecture Projects in Software Engineering Courses","volume":"14","author":"Mitra Sandeep","year":"2014","journal-title":"Transactions on Computing Education (TOCE)"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"crossref","volume-title":"Pro JavaScript Development","author":"Odell Den","DOI":"10.1007\/978-1-4302-6269-5"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5176\/2251-2195_CSEIT15.25"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1080\/13562517.2010.493346"},{"key":"e_1_3_2_1_24_1","volume-title":"Proceedings of the 41st annual conference of the Southern African Computer Lecturers' Association (SACLA). SACLA Organising committee, SIST","author":"Pieterse Vreda","year":"2011"},{"key":"e_1_3_2_1_25_1","volume-title":"Proceedings of Second Computer Science Education Research Conference (CSERC '12)","author":"Pieterse Vreda"},{"key":"e_1_3_2_1_26_1","volume-title":"Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12)","author":"Pieterse Vreda"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-47680-3_15"},{"key":"e_1_3_2_1_28_1","unstructured":"Claudiu Popa. [n.d.]. Pylint: It's not just a linter that annoys you! https:\/\/github.com\/PyCQA\/pylint. Accessed: 2019-10-30.  Claudiu Popa. [n.d.]. Pylint: It's not just a linter that annoys you! https:\/\/github.com\/PyCQA\/pylint. Accessed: 2019-10-30."},{"key":"e_1_3_2_1_29_1","unstructured":"Frank Sauer. 2005. Eclipse Metrics Plugin. http:\/\/metrics.sourceforge.net. Accessed: 2019-10-30.  Frank Sauer. 2005. Eclipse Metrics Plugin. http:\/\/metrics.sourceforge.net. Accessed: 2019-10-30."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/271581.271584"},{"key":"e_1_3_2_1_31_1","unstructured":"Nicholas C. Zakas. 2013. The pluggable linting utility for JavaScript and JSX. https:\/\/eslint.org. Accessed: 2019-10-30.  Nicholas C. Zakas. 2013. The pluggable linting utility for JavaScript and JSX. https:\/\/eslint.org. Accessed: 2019-10-30."}],"event":{"name":"CSERC '19: The 8th Computer Science Education Research Conference","location":"Larnaca Cyprus","acronym":"CSERC '19","sponsor":["University of Cyprus"]},"container-title":["Proceedings of the 8th Computer Science Education Research Conference"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3375258.3375267","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3375258.3375267","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:32:48Z","timestamp":1750199568000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3375258.3375267"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,11,18]]},"references-count":30,"alternative-id":["10.1145\/3375258.3375267","10.1145\/3375258"],"URL":"https:\/\/doi.org\/10.1145\/3375258.3375267","relation":{},"subject":[],"published":{"date-parts":[[2019,11,18]]},"assertion":[{"value":"2020-03-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}