{"id":"https://openalex.org/W2015964916","doi":"https://doi.org/10.1145/1121341.1121453","title":"OOP and the Janus principle","display_name":"OOP and the Janus principle","publication_year":2006,"publication_date":"2006-03-03","ids":{"openalex":"https://openalex.org/W2015964916","doi":"https://doi.org/10.1145/1121341.1121453","mag":"2015964916"},"language":"en","primary_location":{"id":"doi:10.1145/1121341.1121453","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1121341.1121453","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 37th SIGCSE technical symposium on Computer science education","raw_type":"proceedings-article"},"type":"conference-paper","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/A5039702747","display_name":"Joel C. Adams","orcid":"https://orcid.org/0000-0002-1573-0263"},"institutions":[{"id":"https://openalex.org/I163795733","display_name":"Calvin University","ror":"https://ror.org/05r0q9p84","country_code":"US","type":"education","lineage":["https://openalex.org/I163795733"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Joel C. Adams","raw_affiliation_strings":["Calvin College, Grand Rapids, MI","Calvin College, Grand Rapids, MI#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Calvin College, Grand Rapids, MI","institution_ids":["https://openalex.org/I163795733"]},{"raw_affiliation_string":"Calvin College, Grand Rapids, MI#TAB#","institution_ids":["https://openalex.org/I163795733"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5039702747"],"corresponding_institution_ids":["https://openalex.org/I163795733"],"apc_list":null,"apc_paid":null,"fwci":0.235,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.42410848,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"359","last_page":"363"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9843000173568726,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9843000173568726,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T12490","display_name":"Software Engineering and Design Patterns","score":0.9702000021934509,"subfield":{"id":"https://openalex.org/subfields/3303","display_name":"Development"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T11986","display_name":"Scientific Computing and Data Management","score":0.9690999984741211,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/janus","display_name":"Janus","score":0.8843259811401367},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.8352553248405457},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7556806802749634},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.6717488169670105},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5814864635467529},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5643055438995361},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.5259447693824768},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5013203620910645},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.4518619477748871},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.42595311999320984},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4152193069458008},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.20692503452301025}],"concepts":[{"id":"https://openalex.org/C2779290492","wikidata":"https://www.wikidata.org/wiki/Q6155940","display_name":"Janus","level":2,"score":0.8843259811401367},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.8352553248405457},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7556806802749634},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.6717488169670105},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5814864635467529},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5643055438995361},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.5259447693824768},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5013203620910645},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.4518619477748871},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.42595311999320984},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4152193069458008},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.20692503452301025},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1121341.1121453","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1121341.1121453","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 37th SIGCSE technical symposium on Computer science education","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.6000000238418579,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1601512367","https://openalex.org/W1998750064","https://openalex.org/W2039284698","https://openalex.org/W2067832311","https://openalex.org/W2092220759"],"related_works":["https://openalex.org/W993170344","https://openalex.org/W3045240077","https://openalex.org/W2944172132","https://openalex.org/W4297129665","https://openalex.org/W2992728488","https://openalex.org/W2278415782","https://openalex.org/W3044593852","https://openalex.org/W2982835094","https://openalex.org/W3124699908","https://openalex.org/W2752682294"],"abstract_inverted_index":{"It":[0],"is":[1],"easy":[2],"for":[3],"computer":[4],"science":[5],"students":[6],"and":[7,64,69],"educators":[8,70],"to":[9,36],"write":[10,76],"software":[11,32],"applications":[12],"in":[13],"Java":[14,55],"or":[15],"C++":[16],"that":[17],"are":[18],"not":[19],"object-oriented.":[20],"In":[21],"this":[22,73],"paper,":[23],"we":[24],"present":[25],"the":[26,37,61],"Janus":[27,62],"Principle":[28],"--":[29],"a":[30,53],"simple":[31,54],"engineering":[33],"principle":[34,74],"(related":[35],"MVC":[38],"design":[39],"pattern)":[40],"whose":[41],"use":[42],"produces":[43],"highly":[44,79],"object-oriented":[45],"code.":[46,81],"We":[47],"demonstrate":[48],"its":[49],"effect":[50],"by":[51],"developing":[52],"networking":[56],"application,":[57],"first":[58],"without":[59],"using":[60,66],"Principle,":[63],"then":[65],"it.":[67],"Students":[68],"who":[71],"follow":[72],"will":[75],"programs":[77],"containing":[78],"reusable":[80]},"counts_by_year":[{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
