diff --git a/.gitignore b/.gitignore index ec15fb0..a39596f 100644 --- a/.gitignore +++ b/.gitignore @@ -28,4 +28,7 @@ samples/sample-*.pdf *.bcf *.run.xml samples/ACM-Reference-Format.bst -samples/*.tex \ No newline at end of file +samples/*.tex +samples/*.bbx +samples/*.cbx +samples/*.dbx \ No newline at end of file diff --git a/acmart.dtx b/acmart.dtx index 5f379d1..dcb00ec 100644 --- a/acmart.dtx +++ b/acmart.dtx @@ -1058,6 +1058,13 @@ % \url{https://creativecommons.org/licenses/} for the explanation). % This command should be used in the preamble only. % +% Material published under Creative Commons license should include +% the corresponding icon. A modern \TeX\ distribution includes these +% icons in the package \textsl{doclicense}. In case your distribution +% does not have them, ACM provides a file \path{ccicons.zip} with +% these icons. Just unzip it in the same directory where your +% document is. +% % The ACM submission software should generate the right command for you % to paste into your file. % diff --git a/samples/sample-base.bib b/samples/sample-base.bib index a782f26..6cebd81 100644 --- a/samples/sample-base.bib +++ b/samples/sample-base.bib @@ -1508,12 +1508,20 @@ @online{TUGInstmem @online{CTANacmart, author = {Boris Veytsman}, - title = {acmart---{C}lass for typesetting publications of {ACM}}, + title = {acmart---{Class} for typesetting publications of {ACM}}, year = 2017, url = {http://www.ctan.org/pkg/acmart}, lastaccessed = {May 27, 2017} } +@online{doclicense, + author = {Robin Schneider}, + title = {The \textsl{doclicense} package}, + year = 2022, + url = {http://www.ctan.org/pkg/doclicense}, + lastaccessed = {May 27, 2022} + } + @ARTICLE{bowman:reasoning, author = {Bowman, Mic and Debray, Saumya K. and Peterson, Larry L.}, title = {Reasoning About Naming Systems}, diff --git a/samples/samples.dtx b/samples/samples.dtx index acd66f5..a6738fc 100644 --- a/samples/samples.dtx +++ b/samples/samples.dtx @@ -982,6 +982,12 @@ massa et mattis lacinia. %% %% The first command in your LaTeX source must be the \documentclass command. \documentclass[acmengage]{acmart} + +%% \BibTeX command to typeset BibTeX logo in the docs +\AtBeginDocument{% + \providecommand\BibTeX{{% + Bib\TeX}}} + %% Rights management information. This information is sent to you %% when you complete the rights form. These commands have SAMPLE %% values in them; it is your responsibility as an author to replace @@ -997,42 +1003,44 @@ massa et mattis lacinia. \acmDOI{XXXXXXX.XXXXXXX} \begin{document} -\title{Introduction to Data, Functions, and Mathematical - Reasoning} -\author{David Liu} -\email{david@cs.toronto.edu} +\title{EngageCSEdu Submission Title (600 char limit)} +\author{Author One} +\email{author1@institution.edu} \affiliation{% - \institution{University of Toronto} - \city{Toronto} - \country{Canada}} + \institution{University of XXX} + \city{SomeCity} + \country{SomeCountry}} -\author{Mario Badr} -\email{mario.badr@toronto.edu} +\author{Author Two} +\email{author2@institution.xxx} \affiliation{% - \institution{University of Toronto} - \city{Toronto} - \country{Canada}} + \institution{Some School} + \city{SomeCity} + \country{SomeCountry}} -\author{Shannon Komguem} -\email{s.komguem@mail.toronto.edu} +\author{Author Three} +\email{author3@school.xxx} \affiliation{% - \institution{University of Toronto} - \city{Toronto} - \country{Canada}} + \institution{A3 affiliation} + \city{SomeCity} + \country{SomeCountry}} %% The synopsis is a name for the abstract \begin{abstract} - This assignment is composed of a series of exercises that give - students an opportunity to practice skills fundamental to reasoning - in computer science. Designed for those with no background in - computer science, the questions give students an introduction not - only to computer programming, but also to the field of computer - science as a whole. For example, the comprehension and regression - exercises introduce the use of mathematics and statistics in CS, - while the written exercises demonstrate how to translate real-world - problems into problems solvable by a computer. We have also - included debugging exercises that encourage students to start - thinking through their own coding roadblocks. +A required section. The synopsis is similar to a paper abstract. The synop- +sis will display in the digital library as the abstract. The synopsis should +be copied into ScholarOne as the abstract for submission. The synopsis +should contain an overall description of the Open Educational Resource +(OER). The synopsis lets other instructors quickly understand what this +material is about. Include any learning objectives and a description of the +approach taken. Put details about implementation and necessary prerequi- +site knowledge in the Recommendations section. The following template is +a suggested format: +This [assignment/project/homework/lab] helps students gain experience +and proficiency with [ e.g. arrays, for/while loops, conditional statements.] +Students will learn how to [skills acquired]. +The reader should get an understanding of what topic is associated with +the OER and what, if anything, the students will be asked to do. \end{abstract} %% Metadata for the course @@ -1044,72 +1052,157 @@ massa et mattis lacinia. %% Keywords \keywords{Arithmetic Operators, Assignment Statements, Comprehension, - Integers, Strings, Lists, Sets, Dictionaries, Logic, Reasoning, - Debugging, Statistics, Modules, Data} - + Student Voice} \maketitle \section{Engagement Highlights} -The assignment is meant to be used in beginner programming courses -where it is expected that students have little to no programming -background and are curious to see what is in store for them in future -CS courses and projects. The exercises aim at teaching a variety of -core CS topics while only requiring basic coding skills. For example, -since Python comprehension syntax is reminiscent of set builder -notation, the comprehension exercise provides an intriguing crossover -between CS and mathematics. Furthermore, the assignment is punctuated -with an exercise that uses a seemingly complicated regression model -and graphing library that students implement using very simple -code. This serves to show them that they can create sophisticated -projects with basic code, and hopefully leaves them wondering what -they will be able to build after months, years, and even decades of -studying computer science. The regression exercise also uses -real-world datasets and interdisciplinary concepts that may be -familiar to them, such as the “line of best fit”. This gives students -an opportunity to relate their work in this assignment to their -lived-experiences and interests. +A required section. This section of the paper should detail how the OER engages the students. The engagement must be based on at least one evidenced-based teaching practice known to broaden participation or improve student learning. Examples include the practices from the NCWIT Engagement Practices Framework: using meaningful and relevant content, making interdisciplinary connections to CS, addressing misconceptions about the field of CS, incorporating student choice, giving effective encouragement, mitigating stereotype threat, offering student-centered assessments, providing opportunities for interaction with faculty, avoiding stereotypes, using well-structured collaborative learning, or encouraging student interaction. Other potential evidence-based practices include using culturally relevant pedagogy, or universal design for learning. All submissions must identify what evidence-based practice they incorporate and be specific in how the practice is included within the OER. + +Information on how to differentiate this assignment (i.e. provide different versions for students of differing abilities) could also go in this section. It could also outline how instructors might modify +the assignment to increase enhance student engagement. If these modifications are extensive, they could also be discussed in their own section. \section{Recommendations} -The project can be assigned very early in the course. Students are -ready to start it as soon as they have learned about Python -expressions, data types, functions, and comprehension. The -comprehension exercises can also be converted to loop exercises -depending on the course content. The assignment encourages students to -exercise multiple skills that are pertinent to computer science, -including following instructions, using mathematical reasoning (as -seen in the written and comprehension exercises), and critical -thinking (as seen in the regression exercise). - -The assignment lets students practice converting mathematical -expressions to Python, and importing and using modules. The regression -exercise and the use of the plotly library can be modified to an -activity that is more relevant to your group. For example, it can be -replaced with an animation exercise for which students write equations -to determine movement, among many other creative alternatives which -allow students to practice the same skills. The datasets for the -regression exercise can be replaced with ones of more interest to -students in order to increase - -It is important to emphasize that students should not get caught up in -the helper functions provided in the starter code and should focus on -following the instructions in the handout. Instructing them to not -over-analyze the implementation of the helper functions can also serve -as a lesson on code abstraction. - -\section{Resource Details} - -In the zip file, \path{assignment.zip}, you will find the following -files: +A required section. In this section authors should give specific recommendations and advice to other instructors who might want to adapt this resource for their own classroom. Important information to include in this section includes identifying how much time is required to introduce or complete the task, potential pitfalls or student struggles, lessons learned from using the OER, and any information on extensions or differentiation for students. Think of this section as the information you would provide a colleague before they use this OER in their classroom. + +\section{Additional Sections} + +Optional. Authors may add additional sections to fully explain all the pieces of their OER. It can (and probably should) have multiple sections and the section headers are at the discretion of the authors. Sections may expand on information presented in the synopsis, recommendations, and engagement highlights. Suggested sections include: Introduction, Background Material, Implementation Guidelines, Marking Guidelines, Extensions and Modifications, Pitfalls, Acknowledgements, Student Feedback, and References. + +\section{Related Online Resources} + +EngageCSEdu requires that all materials that are part of the OER submission be included with the submission and not just URL links to materials stored on other sites. However, any related background or reference material used to provide instructor or student knowledge as opposed to instructional material may be included as citations within the paper +(see section \ref{sec:citations}) +or you may include a numbered list of external links and extensions in an optional section titled ``Auxilary Materials" that should come immediately before "References". + +\section{Materials} + +A required section. You must provide a list of the contents of the zipped file including a description of each contained file. This may be provided as text or as an unordered list. + +A single zipped file containing all the OER instructional materials including assignment handouts / specification, starter code, rubric, solution, etc. will also be submitted. + +\section{Meta-Data} + +This section is included in the template to explain the choices for the meta-data at the top of the paper. It should not be included in the final paper submission. + +\subsection{Course} + +Current courses are: + \begin{itemize} -\item the assignment handout in markdown -\item starter code files -\item a \LaTeX\ template for students’ written answers \cite{Lamport:LaTeX} -\item a folder containing datasets for the regression exercise. + \item CS0 -- a breadth first introductory computing course similar to Exploring Computer Science or AP CS Principles + \item CS1 -- an introductory programming course covering topics normally associated with an imperative or functional programming course. Similar to an AP CS A course + \item Data Structures -- a follow-on course occurring after CS1 that introduces linear and non-linear data structures including implementation and usage + \item Discrete Math -- a course covering discrete mathematical structures such as integers, graphs and logic statements. This may include logic, set theory, combinatorics, graphy theory, number theory, topology, etc. \end{itemize} -The assignment handout is expected to be edited and reviewed by the -instructor before being shared with students. + +More than one course may be selected. If you are submitting an OER for a special topics issue of Engage, please discuss the appropriate course choice with the guest editors of the special issue. + +\subsection{Programming Language} +Authors may select all that apply from the following list: +\begin{itemize} + \item C + \item C++ + \item C\# + \item Java + \item JavaScript + \item Processing + \item Python + \item Racket (DrScheme) + \item Scheme + \item Scratch + \item Pseudocode + \item Other + \item None +\end{itemize} + +\subsection{Resource Type} +One resource type must be selected. Current list to select from includes: + +\begin{itemize} + \item Assignment -- the most common OER type. Typically represents a task assigned to individual or groups of students that will be completed outside of class time. + \item Lecture slides -- an annotated set of presentation slides to introduce or explain a topic, typically a cutting-edge research topic, to a more lay audience. An example might be explaining a specific cryptography algorithm, blockchain, or an AI / ML solution to a problem. + \item Lab -- this represents a task assigned to an individual or group of students to be completed under supervision, usually during a closed-lab model + \item Project -- an assignment that is of a longer duration, perhaps multiple weeks to an entire term + \item Tutorial -- a task usually completed by an individual to learn some material on their own + \item Other -- any other type of OER that does not fit into one of the above categories +\end{itemize} + +\subsection{CS Concepts} +This is selectable from the ontology of topics found at \url{https://www.engage-csedu.org/ontology}. Up to three topics may be selected. Eventually this page will be a tool allowing you to select up to three nodes in the tree and then copy / paste the descriptive text into your document and the submission system. + +\subsection{Knowledge Unit} +Authors will select the most appropriate one from the following list: + +\begin{itemize} + \item Programming Concepts -- anything involving programming + \item Data Structures -- anything involving data structures + \item Software Development Methods -- if the OER centers around software development (i.e., requirements gathering, testing, maintenance, code reviews) rather than the actual programming content + \item Discrete Math -- anything involving discrete math + \item N/A -- not applicable +\end{itemize} + +\subsection{Creative Commons License} +During the submission process on ScholarOne, authors will select one create commons license from the following list: + +\begin{itemize} + \item CC BY-SA + \item CC BY-NC + \item CC BY-NC-ND + \item CC BY-NC-SA + \item CC BY-ND + \item CC BY +\end{itemize} + +The correct typesetting of materials under creative commons license +requires the corresponding CC icon. A modern \TeX\ distribution +includes these icons in the package \textsl{doclicense} +\cite{doclicense}. In case your distribution does not have them, ACM +provides a file \path{ccicons.zip} with these icons. Just unzip it in +the same directory where your document is. + +More information on Creative Common Licensing may be found at \url{https://creativecommons.org/licenses/}. + +\section{Submission} +When you make a submission using ScholarOne you must upload: + +\begin{itemize} + \item an anonymized version of this paper for review + \item a zipped file containing all the student-facing materials. The materials in this file must also be anonymized for the purposes of fully anonymous review. +\end{itemize} + +\section{Citations and References} +\label{sec:citations} +We recommend using \BibTeX\ to prepare your references. The bibliography is included +in your source document with these two commands, placed just before +the \verb|\end{document}| command: +\begin{verbatim} + \bibliographystyle{ACM-Reference-Format} + \bibliography{bibfile} +\end{verbatim} +where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|'' +suffix, of the \BibTeX\ file. + +Here are a few examples of the types of things you might cite in an EngageCSEdu submission: + a book \cite{Kosiur01}, + a journal article \cite{Abril07}, + an informally published work \cite{Harel78}, + an online document / world wide web resource \cite{Thornburg01, Ablamowicz07}, + a video \cite{Obama08}, + a software package \cite{R}, and an online dataset \cite{UMassCitations}. + +For other examples, see the file sample-acmsmall-conf.tex \cite{CTANacmart}. + +\section{Auxiliary Materials} +This section is optional, but if included must immediately precede the References section. If there are no References, Auxiliary Materials should be last. This should be +a numbered list of URLs with an optional brief description of the content found at each URL. Here is an example. +\begin{enumerate} +\item \url{https://somenews.org/xxx/} A news article relevant to this OER. +\item \url{https://somesite.gov/xxx/} A relevant government report. +\item \url{https://someplace.edu/xxxx/} A public data set of interest. +\item \url{https://github.com/xxxx/} A public github project that is related. +\end{enumerate} \bibliographystyle{ACM-Reference-Format} \bibliography{sample-base} @@ -1117,4 +1210,4 @@ instructor before being shared with students. \end{document} -% \ No newline at end of file +%