The Language INtegrated Query (LINQ) language is a declarative query language integrated within an object-oriented programming language that provides a unified paradigm for querying relations, objects, and XML (ROX). This paper describes a suite of exercises, from cooperative in-class activities to larger-scale graded assignments, for incorporating LINQ into the database curriculum. These exercises support various student learning outcomes and illustrate the applicability of LINQ by querying the same database enterprise across the ROX data models.
{"title":"LINQ ROX!: integrating LINQ into the database curriculum","authors":"S. Dietrich, Mahesh B. Chaudhari","doi":"10.1145/1953163.1953251","DOIUrl":"https://doi.org/10.1145/1953163.1953251","url":null,"abstract":"The Language INtegrated Query (LINQ) language is a declarative query language integrated within an object-oriented programming language that provides a unified paradigm for querying relations, objects, and XML (ROX). This paper describes a suite of exercises, from cooperative in-class activities to larger-scale graded assignments, for incorporating LINQ into the database curriculum. These exercises support various student learning outcomes and illustrate the applicability of LINQ by querying the same database enterprise across the ROX data models.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"91 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129088972","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
During the past 20 years, probability theory has become a critical element in the development of many areas in computer science. Commensurately, in this paper, we argue for expanding the coverage of probability in the computing curriculum. Specifically, we present details of a new course we have developed on Probability Theory for Computer Scientists. An analysis of course evaluation data shows that students find the contextualized content of this class more relevant and valuable than general presentations of probability theory. We also discuss different models for expanding the role of probability in different curricular programs that may not have the capacity to teach a full course on the subject.
{"title":"A course on probability theory for computer scientists","authors":"M. Sahami","doi":"10.1145/1953163.1953245","DOIUrl":"https://doi.org/10.1145/1953163.1953245","url":null,"abstract":"During the past 20 years, probability theory has become a critical element in the development of many areas in computer science. Commensurately, in this paper, we argue for expanding the coverage of probability in the computing curriculum. Specifically, we present details of a new course we have developed on Probability Theory for Computer Scientists. An analysis of course evaluation data shows that students find the contextualized content of this class more relevant and valuable than general presentations of probability theory. We also discuss different models for expanding the role of probability in different curricular programs that may not have the capacity to teach a full course on the subject.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131313667","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we describe a new "research and action" based course designed to give undergraduate students the opportunity to think beyond the classroom, to reach out and examine some of the broader issues surrounding computing. "Understanding and Broadening the Images of Computing" researches the images, the realities and the (mis)perceptions of computing that influence public understanding and participation in the field. Along with research students are encouraged to see themselves as future professionals who can be actively involved in re-shaping and re-presenting the field. To this purpose, students build an action component working in teams to develop and implement a public presentation aimed at broadening understanding of computing.
{"title":"The images of computing: engaging undergraduates in the broad issues of computer science","authors":"C. Frieze","doi":"10.1145/1953163.1953322","DOIUrl":"https://doi.org/10.1145/1953163.1953322","url":null,"abstract":"In this paper we describe a new \"research and action\" based course designed to give undergraduate students the opportunity to think beyond the classroom, to reach out and examine some of the broader issues surrounding computing. \"Understanding and Broadening the Images of Computing\" researches the images, the realities and the (mis)perceptions of computing that influence public understanding and participation in the field. Along with research students are encouraged to see themselves as future professionals who can be actively involved in re-shaping and re-presenting the field. To this purpose, students build an action component working in teams to develop and implement a public presentation aimed at broadening understanding of computing.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126376198","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Session details: Peer teaching and tutoring","authors":"Jian Zhang","doi":"10.1145/3258446","DOIUrl":"https://doi.org/10.1145/3258446","url":null,"abstract":"","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122260846","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we revisit previous research to elaborate on the question: "Can graduating students design software systems?" The work concluded that the answer was "not really". We wished to determine if this was true currently at our institution and also to look at whether students were able to design software in groups, and evaluate others' designs. In summary, it appears that our students, just as in the original experiment, struggle with doing design, even in a group situation. The representation of behavioral design was particularly lacking. That said, students were able to recognize weaknesses when evaluating other group designs. Based on our findings, we provide several pedagogic recommendations.
{"title":"Can graduating students design: revisited","authors":"Chris W. Loftus, L. Thomas, Carol Zander","doi":"10.1145/1953163.1953199","DOIUrl":"https://doi.org/10.1145/1953163.1953199","url":null,"abstract":"In this paper we revisit previous research to elaborate on the question: \"Can graduating students design software systems?\" The work concluded that the answer was \"not really\". We wished to determine if this was true currently at our institution and also to look at whether students were able to design software in groups, and evaluate others' designs. In summary, it appears that our students, just as in the original experiment, struggle with doing design, even in a group situation. The representation of behavioral design was particularly lacking. That said, students were able to recognize weaknesses when evaluating other group designs. Based on our findings, we provide several pedagogic recommendations.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124867678","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Session details: Keynote","authors":"Thomas J. Cortina","doi":"10.1145/3258426","DOIUrl":"https://doi.org/10.1145/3258426","url":null,"abstract":"","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128016028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present a one-semester transition course intended to bridge the gap between a Java-based introductory sequence and advanced systems courses. We chose to structure our course as a series of lab assignments that, while independent, are also milestones in a single main project, writing a web server from scratch. By anchoring the course on a single real-world application, we were able to provide depth, instill good programming practices, give insight into systems, and generate excitement.
{"title":"Follow the river and you will find the C","authors":"J. Lee, Michael S. Kester, H. Schulzrinne","doi":"10.1145/1953163.1953285","DOIUrl":"https://doi.org/10.1145/1953163.1953285","url":null,"abstract":"We present a one-semester transition course intended to bridge the gap between a Java-based introductory sequence and advanced systems courses. We chose to structure our course as a series of lab assignments that, while independent, are also milestones in a single main project, writing a web server from scratch. By anchoring the course on a single real-world application, we were able to provide depth, instill good programming practices, give insight into systems, and generate excitement.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115287077","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
O. Astrachan, T. Barnes, Daniel D. Garcia, J. Paul, B. Simon, L. Snyder
Since 2008, NSF and The College Board, have been developing a "Computer Science: Principles" curriculum to "introduce students to the central ideas of computing and CS, to instill ideas and practices of computational thinking, and to have students engage in activities that show how computing and CS change the world". We report on the initial pilot of the CS Principles curriculum at 5 universities in 2010/11. The instructors from the pilot schools will describe their classes, the piloting experience (teaching under a microscope), and successes and failures. Emphasis will be on: mapping the CS Principles curriculum to a college's specific needs, and how others can use or modify the existing materials for pilots at their schools.
{"title":"CS principles: piloting a new course at national scale","authors":"O. Astrachan, T. Barnes, Daniel D. Garcia, J. Paul, B. Simon, L. Snyder","doi":"10.1145/1953163.1953281","DOIUrl":"https://doi.org/10.1145/1953163.1953281","url":null,"abstract":"Since 2008, NSF and The College Board, have been developing a \"Computer Science: Principles\" curriculum to \"introduce students to the central ideas of computing and CS, to instill ideas and practices of computational thinking, and to have students engage in activities that show how computing and CS change the world\". We report on the initial pilot of the CS Principles curriculum at 5 universities in 2010/11. The instructors from the pilot schools will describe their classes, the piloting experience (teaching under a microscope), and successes and failures. Emphasis will be on: mapping the CS Principles curriculum to a college's specific needs, and how others can use or modify the existing materials for pilots at their schools.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123243865","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Professors are continually exploring ways to increase the engagement of their students, but are sometimes concerned that doing "fun" things in class could adversely affect student learning. Over the course of several semesters, we had the same professor teach several CS1 and CS2 courses for computer science and game development majors. As part of his classroom approach, the professor used a student response system to engage the students in the flow of the lecture. In this paper, we examine the relationships between student participation using the student response system and student performance in the course assessments. We also explore the relationship between each student's perceived mastery of course topics and their demonstrated mastery of those topics on the Final Exam. Finally, we explore several differences between the multiple courses included in the study.
{"title":"Using a student response system in CS1 and CS2","authors":"A. Chamillard","doi":"10.1145/1953163.1953253","DOIUrl":"https://doi.org/10.1145/1953163.1953253","url":null,"abstract":"Professors are continually exploring ways to increase the engagement of their students, but are sometimes concerned that doing \"fun\" things in class could adversely affect student learning. Over the course of several semesters, we had the same professor teach several CS1 and CS2 courses for computer science and game development majors. As part of his classroom approach, the professor used a student response system to engage the students in the flow of the lecture. In this paper, we examine the relationships between student participation using the student response system and student performance in the course assessments. We also explore the relationship between each student's perceived mastery of course topics and their demonstrated mastery of those topics on the Final Exam. Finally, we explore several differences between the multiple courses included in the study.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"531 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125068665","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper, we present the VIREOS project, a new operating system designed specifically for the classroom. VIREOS is a simple, Unix-like, operating system, which runs on the Larc educational architecture. A VIREOS/Larc system can either be simulated or run on a pre-configured FPGA. The VIREOS project is well integrated with an introductory computer architecture course using Larc and the assignments are structured in a similar fashion: using a bottom-up approach. We have several resources available on the Web, which help reduce the overhead of adopting VIREOS. Finally, VIREOS has been used in one operating systems course already, and the feedback from students was generally favorable.
{"title":"VIREOS: an integrated, bottom-up, educational operating systems project with FPGA support","authors":"Marc L. Corliss, Marcela S. Melara","doi":"10.1145/1953163.1953179","DOIUrl":"https://doi.org/10.1145/1953163.1953179","url":null,"abstract":"In this paper, we present the VIREOS project, a new operating system designed specifically for the classroom. VIREOS is a simple, Unix-like, operating system, which runs on the Larc educational architecture. A VIREOS/Larc system can either be simulated or run on a pre-configured FPGA. The VIREOS project is well integrated with an introductory computer architecture course using Larc and the assignments are structured in a similar fashion: using a bottom-up approach. We have several resources available on the Web, which help reduce the overhead of adopting VIREOS. Finally, VIREOS has been used in one operating systems course already, and the feedback from students was generally favorable.","PeriodicalId":137934,"journal":{"name":"Proceedings of the 42nd ACM technical symposium on Computer science education","volume":"73 7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122135679","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}