COMPSCI 105 is an "R2" General Education course, fulfilling one of the graduation requirements for any bachelors degree at UMass. As part of the university's supervision of General Education, departments are required to renew each course's gen-ed designation every five years. Part of this process is to explain how the course fulfills the goals set out by the General Education Council. Instructors are required to address this question in their syllabus for the course, explaining the associated learning goals and how those goals are to be met.
All General Education courses are expected to emphasize critical thinking, commensurate with problem solving and writing. Development of analytical skills, including quantitative (numerical and computational) thinking, is a fundamental part of this process.
COMPSCI 105 is an introductory course in computer literacy. Many students entering the course have some background with computing, but few have sufficient sophistication, either mathematical or procedural, to use computers effectively.
As a result of taking this course, students are expected to have developed their skills in the following areas:
Understand the differences between integer, rational, real, and complex numbers, and how each may be represented using "bits" on a computer. Part of this is to develop an understanding of the limitations of computers, why numbers have upper and lower bounds, and why round-off errors can affect computations. Conversion of numbers between different bases is emphasized, and many examples of why this is necessary are covered in detail. Algebraic formulæ and units conversion (dimensional analysis) are also covered, primarily in the context of spreadsheets.
Understand how the Web and the Internet work, how Web pages are created and deployed, and how to extend Web pages with graphics. Color models are extensively explored. Students gain a foundation in creating and debugging HTML, CSS, and SVG files, and learn to use the UNIX operating system. Tools for remotely accessing a computer, or for transferring files between remote computers, are also covered.
Understand the basics of word processing, including document settings (margins, pagination, headers and footers), paragraph settings (justification, spacing, indentation), and character settings (fonts and typefaces, boldface, italics, etc.). Students are introduced to the concepts of styles and style sheets, importation of graphics, and mail merge.
Understand the basic philosophies of electronic spreadsheets, including but not limited to spreadsheet layout, formula creation, automatic recalculation, and the distinctions between formulæ, value, and format. How a formula changes when it is copied is covered in detail. Other topics include multipage notebooks, functions, charting, and issues in numerical precision and round-off error.
Understand how electronic databases work, including the creation and editing of tables, queries, and reports. Special queries that combine two or more tables ("join" queries) are covered in detail. Sorting and indexing are also covered, along with the mathematical basis of how the speed of a query can be measured depending on whether or not it is indexed. The various types of possible table relationships are explored. Finally, differences between spreadsheets and databases are covered, along with the potential penalties for using the "wrong" package for a particular problem.
The required work for COMPSCI 105 is broken down into four categories: homework, quizzes, exams, and laboratory exercises. Each contributes its own unique signature to the overall learning goals of this course.
Homework assignments in this course are handled using an on-line grading and recording system. Students enter their answers into a Web form, which are then submitted to the grading system. Their answers are automatically scored, the grades are recorded, and the recorded grades are sent back to the submitters immediately. Students are allowed to submit the homework assignments as many times as they wish during the period that the homework is active on-line, in order to maximize their grade. Late penalties are assessed automatically.
In-class quizzes are handled initially in a "traditional" format: questions are posted and students have 10 minutes to work quietly on their answers. They may use their books and notes. After the initial period, students are allowed to collaborate on their answers with adjacent students. In general, this increases the learning goals of the quiz by having students explain their answers to one another, as well as gain insights into the material by doing so.
There is one midterm exam and one final exam. Both are open-book, open-notes to accurately reflect real-world scenarios where people have their reference materials available when solving problems (however, calculators and other electronics are not allowed on exams as they may provide students avenues to answers without incurring any understanding). Exams are written on paper (not op-scan or multiple choice), and involve computational questions, short answer questions (requiring one or two sentences), coding questions (requiring students to write out HTML or CSS code, or Excel formulæ), and simulated data-entry questions using screenshots of the appropriate software. Exams in this format must be graded by hand by experts (teaching assistants), and partial credit for answers that are incomplete or slightly in error is assigned appropriately.
There are ten laboratory assignments for this course. Students are allowed to use their own computers, either Microsoft Windows or Apple Macintosh (except for two assignments that cannot be performed on a Mac). Students without the proper hardware or software, or needing extra help, have evening lab sessions available, staffed by Teaching Assistants assigned to 105. Students are allowed to discuss the assignments among themselves, but are not allowed to share files or turn in group efforts. Laboratory projects for COMPSCI 105 include the following:
This assignment introduces students to the personal computer (either Microsoft Windows or Apple Macintosh) by having them create and name folders, use the text editor and a Web browser, and print documents. Students will use the text editor to create a simple Web page in raw HTML, view that Web page in a browser, and print it. The resulting Web page is visible only to their local computer.
In this assignment, students will learn how to connect to and use the UNIX operating system on a remote computer (provided by the COMPSCI computing facility). They will also learn how to move files between their local computer and that remote UNIX computer. By doing so, they will establish the environment necessary for hosting Web pages. The ultimate goal of this assignment is to move their Web page from Lab #1 into this environment; at the end of this assignment their Web page will be visible to everyone on the Web.
Here the students will extend their Web page from Labs #1 and #2 to include graphics of two different types. The first type will be some image available on a public server that the students must find and download. The second type will be a specific .SVG graphic created, linked, and debugged by the students themselves.
In this assignment students will gain experience in basic word processing concepts and techniques, including establishing margins, indentation, font settings, and page numbers on documents. Students first must download two document pieces stored in a .ZIP archive on the class server, and then use Microsoft Word to assemble those pieces into a single, composite document. They must also use a graphics design program to create an image to embed in the document, and use the calculator accessory to compute and then copy-paste a numerical result into the document.
Here the students will create a set of personalized letters based on a master document (containing the generic template of the basic letter) and a data document (containing the specific information about the individual recipients). This assignment is of particular interest to graduating seniors preparing resumés to send to prospective employers.
This assignment explores the basic concepts behind electronic spreadsheets such as Microsoft Excel, including spreadsheet layout and design, entry of formulæ, rules for copying formulæ, formatting cells, changing numeric values for exploring what-if scenarios, and printing. Using a simple model of a bank balance acruing yearly interest, and a desired final balance as a target, students also begin to explore numerical issues and limitations of modern spreadsheets.
This assignment covers a lot of topics in spreadsheet design, including importing information from external text files, multi-page notebooks (and commensurate cross-page formulæ), complicated formulæ, data filtering, and macros. The result is a database-like system for creating complex queries (asking questions) about four characteristics of countries around the world.
Here students create a scenario of a hypothetical road trip from Boston to Vancouver, where the driver crosses the US-Canadian border a number of times, purchasing fuel on both sides. The students must deal with fuel quantities in both gallons and liters, as well as distances in both miles and kilometers, and must create a summary report showing total fuel purchased, total distance traveled, and fuel economy in both the English and Metric systems. Students must also create and embed two graphic charts into their spreadsheet, one showing fuel prices for the entire trip and the other showing overall fuel economy. Dimensional analysis is an integral part of this assignment.
Here students will explore the introductory concepts behind databases, using Microsoft Access. These concepts include importing quote and comma delimited data from a text file into an Access table, running some simple queries on those data, and creating and printing nicely formatting reports. The data are about individuals' sex, age, and handedness (left-handed, right-handed, or ambidextrous).
In this final assignment, students will extend the database they created in Lab #9 by creating sophisticated "join" queries. The result will be new tables synthesized from two or more existing tables or queries.
There are a number of learning goals specified by the General Education Council for all General Education courses. Several are directly applicable to COMPSCI 105.
COMPSCI 105 is an introduction to the thinking processes involved both in using computers and in creating computing technology. Students learn what data are, how data are stored in computers, and how computers manipulate them. Through the examples of web page design, word processing, spreadsheets, and database utilities, the students see how computer software is used, get an idea of what it can and cannot do, and become more effective users of it.
The specific skills with specific systems that are taught are directly applicable to real-world situations. After COMPSCI 105 a student is better able to manage a budget with a spreadsheet, or maintain a database. They also learn about what others do with these utilities.
This is nearly the title of the course, and might even be a more accurate title because the students are as concerned with the information being processed as with the machines that process it. By increasing their background knowledge about how computers process information, and by having them experience information processing in a hands-on way, the course enables the students to better communicate about information processing.
In developing information literacy, students are also learning to communicate better about the technologies that manipulate information. The electronic computer is one of the major technological artifacts of our age, and a technologically literate person should know roughly how one works, the nature of the data it acts upon, and the range of tasks it might do. COMPSCI 105 deals closely with all these topics, including hands-on experience with using computers to solve real-world tasks.
The Council has set out specific goals for the Analytic Reasoning courses within General Education, which COMPSCI 105 addresses as follows:
Students learn how mathematical systems are represented on a computer. They learn how to apply existing software to mathematical problems, how to manipulate that software for different goals, and how to interpret the results.
Students are required to think mathematically about all of the areas presented in this course, even in those areas not traditionally thought to be inherently numerical. They must reason about both the methods of entering information into a computer and the methods of extracting results from one.
This is the overt goal of the course. The software tools that they are taught are largely those same tools found in common real-world applications.
The limits of the computations performed by modern computers is not well-known by the general public; those limits are addressed in some detail, particularly in the context of electronic spreadsheets (upper and lower bounds on numbers, round-off errors, etc.).