COMPSCI 120: Problem Solving with the Internet

William T. Verts


General Education Statement

COMPSCI 120 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.


Learning Goals for COMPSCI 120

COMPSCI 120 is an introductory course in exploring the tools associated with the Internet and the World Wide Web. Many students entering the course have some background with Web browsing, but few have sufficient sophistication, either mathematical or procedural, to create their own Web pages, or to extend them with client-side or server-side scripting.

As a result of taking this course, students are expected to have developed their skills in the following areas:

  1. Search Strategies and Bias

    Understand how to perform a search on the Web, and how to interpret the results. As a part of this, students are instructed in how to recognize the various types of cognitive bias inherent in any Web-based resource.

  2. General Mathematics as Represented on a Computer

    Understand how numbers and colors are represented on a computer. Conversion of numbers between different bases is emphasized, in the context of Web page color and UNIX file permissions. Numerical precision issues in JavaScript and Python programs is also explored. Cryptographic systems are addressed in the context of secure on-line ordering.

  3. Networking

    Understand how various network models work, and why the Internet is constructed in the way that it is. Understand the limitations of the current mechanism, and how it may be extended to accommodate future requirements. Historical foundations are covered in order to illustrate the speed of historical change leading up to the modern Internet. The Domain Name System, email and spam, as well as phishing and denial-of-service attacks, are all important aspects of the course.

  4. Web Design

    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. JavaScript and Python programming are also covered, in order to automate Web page behavior or to run server-side scripts. Tools for remotely accessing a computer, or for transferring files between remote computers, are also important aspects of the material.

The required work for COMPSCI 120 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.

  1. Homework

    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.

  2. Quizzes

    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.

  3. Exams

    There are two midterm exams and one final exam. All are open-book, open-notes to accurately reflect real-world scenarios where people have their reference materials available when solving problems (simple calculators are allowed, but advanced 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, CSS, JavaScript, or Python code). 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.

  4. Laboratory Assignments

    There are several laboratory assignments for this course. Students are allowed to use their own computers, either Microsoft Windows or Apple Macintosh. 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 120 include the following:


Overall General Education Goals

There are a number of learning goals specified by the General Education Council for all General Education courses. Several are directly applicable to COMPSCI 120.

  1. Fundamental questions, ideas, and methods

    COMPSCI 120 is an introduction to the thinking processes involved in interacting with a global network. How networks work, and fail, how people deal with those networks and each other (for good or ill), and how to make them more secure are all important concepts.

  2. Application to real-world problems and contexts

    The specific skills with specific systems that are taught are directly applicable to real-world situations. After COMPSCI 120 a student is better able to perform searches, avoid problems with email or scams sent via email, and create and manage their own Web sites (or at least understand how professional Web consultants that they might hire are able to do their work).

  3. Information Literacy

    The students a trained to use a broad range of tools that interact with the Internet. These tools do evolve over time, but students trained in the basics will be able to adapt to new and currently unknown technologies.

  4. Technological Literacy

    In developing information literacy, students are also learning to communicate better about the technologies that connect people and institutions around the world. The electronic computer is one of the major technological artifacts of our age, and the Internet is a disruptive technology that students must be able to use in order to be professionally valuable throughout their careers. COMPSCI 120 deals closely with all these topics, including hands-on experience with using computers to solve real-world tasks.


Specific Goals for the R2 Designation

The Council has set out specific goals for the Analytic Reasoning courses within General Education, which COMPSCI 120 addresses as follows:

  1. Advance a student's formal or mathematical reasoning skills

    Students use mathematics in several ways, including how color is both represented and encoded on a computer. Students also learn how to write code in several different languages and styles, including HTML, CSS, SVG, JavaScript, and Python, and for every new such strategy they learn here they will be better able to learn strategies not covered by the course.

  2. Increase the student's sophistication as a consumer of numerical information

    Students are taught to interpret code written in a number of different languages, and also how to interpret the results they get from the Internet and Web. Much of the information available on the Web is wrong, or biased in some way, and students are trained to recognize and filter out much of that bias.

  3. Provide computer literacy

    The software tools that they are taught are largely those same tools found in common Web-based applications. These tools build on traditional computer literacy courses, but go well beyond those courses to provide students a increased level of sophistication in using a computer.

  4. Indicate the limits of formal, numerical, quantitative, or analytical reasoning

    Computers are machines; machines break. Students will understand how Web-based tools work and how they do not work. They will also learn, to their frustration, that not everything in the world is available on the Web. They will also learn how difficult it can be to formally specify how a Web page, JavaScript or Python program, or SVG graphic is to work without errors.


Current Syllabus.pdf