CSCI 100: Information and Intelligence

Fall 2017 Syllabus

Course Catalog Description

CSCI 100. Information and Intelligence. 3hr; 3cr. No Prerequisites

Information measurement, encoding, and transmission as related to the design of artificial intelligence agents such as search engines, robots, and programs that mimic human intelligence. Models of human and artificial intelligence; relations among information, meaning, and data; diagnostic and causal reasoning in the presence of uncertainty. Readings from the literature of information theory and artificial intelligence; writing assignments, completion of a project to design and/or construct an information-driven intelligent agent.

General Education and Departmental Requirements

This is a general education course that may be used to satisfy the Scientific World (SW) requirement under the CUNY Pathways General Education structure. The course can also be used to satisfy the Natural Science (NS) requirement for students who matriculated under the Perspectivescurriculum that was in effect at Queens before CUNY introduced Pathways.

See the General Education website (http://gened.qc.cuny.edu) for more information about the General Education requirements at the College.

The course is offered by the Computer Science Department, and may be used as an elective in the Computer Information Technology (CIT) minor. It does not count as part of the computer science BA or BS majors.

Course Goals

Thinking, what is that? What is the difference between memorization and problem solving? What is information, and how do we use use information when we think? Information and Intelligence deals with these questions by introducing you to basic principles of digital computation.

Queens College is a liberal arts college, which means in part that you should expect to develop “critical thinking” abilities while you are here. At the same time, there is a push for everyone to learn “computational thinking” (usually in the form of learning to code) because that sort of thinking is core to so so much of what we do in both our social and our work lives.

Artificial Intelligence (AI) is the part of computer science that develops the ability of computers to think in human ways. That is, AI is the field that leverages computers’ ability to memorize vast amounts of information and perform calculations at amazing speeds to make them perform tasks that involve traits like critical thinking. Two key foundations of AI are goal searching and knowledge representation.

The specific technique we will use for achieving these two goals is for you to learn to write code that will make small electronic devices (microcontrollers) interact with the physical world. The electronic devices you will be using are called Arduinos, and the programming language you will be using is called Arduino.

You can think of code writing as teaching a computer how to use information to solve problems. What makes this approach so good for achieving the goals of this course is that the process of teaching computers will help you develop your own ability to think analytically and critically, and that type of thinking is the hallmark of a liberal arts education.

If you are thinking of majoring in the humanities

I highly recommend the book Exploratory Programming for the Arts and Humanities by Nick Montfort. The Introduction to that book captures the essence of what I hope we can accomplish in this course. Here’s one sentence that sums it up: ”My aim in this book is to help new programmers see the creative potential of the computer and understand how computation can be used to explore and inquire.” Although we we be using a different programming environment from the ones used in the Montfort book, the goals of this course are very much aligned with the aim of that book.

If you are thinking of majoring in the social sciences

Making sense of information is what social science research is all about. There are many, many computational tools available for working with that information. This course aims to give you a good foundation in how computers represent information and work with it. “Big Data” and “Data Science” are two important areas of interest that have a lot of overlap between computer science and the social sciences. Learning to write code and to work with digital information is an important basic skill for work in these areas.

If you are thinking of majoring in the natural sciences

Like social scientists, natural scientists collect and analyze data in order to further knowledge. The foundation in representing and managing information from this course will serve you in your work in many of the same ways as for the social sciences.

If you are thinking of majoring in computer science

This course should provide you with an advantage when you start the computer science major, especially if you have have little or no programming experience, but it is not a substitute for a traditional Introduction to Computer Science course. Put another way, there are plenty of successful computer science students who never had a course like this one. What this course will do is to provide you with a broader sense of the possibilities your computer science education can open up for you.

Required Background

The course has no other courses as prerequisites: you are not expected to have ever written any code, and you don’t need any mathematical preparation beyond high school algebra. What you do need is an openness to new ideas, a willingness to think about how our digital world works, and an interest in creating something new.

The Arduino programming language used in this course is actually the same programming language (C++) as the language used in CSCI-111, the first course in the Computer Science majors. (Arduino has a different “runtime environment” from C++, but the languages are the same.) Because the Arduino programming environment is so different from the C++ environment used in CSCI-111, students who have completed a C++ course equivalent to CSCI-111 are allowed to take this course despite the overlap. But students with more programming experience are not allowed to take it. Those students are encouraged to learn Arduino on their own!

Assignments, Class Notes, and Daily Quizzes

This course does not use Blackboard. Instead, there is a website, babbage.cs.qc.cuny.edu, that I use for all my courses. You do not need a Google account to access the course material.

Assignment due dates and exam dates are listed on the Course Schedule web page. Exam dates are set at the beginning of the term, but the assignment schedule gets updated throughout the semester because the assignments vary depending on how the course evolves over the term.

With the arrival of the cloud-based Google Suite for Education at QC, I have been moving more and more of my course material to that platform. For this course, the link you should bookmark is the course website on Google Drive. There are folders there where you will find assignment descriptions, rough class notes, and copies of daily quizzes (with answers).

Course Structure

This class meets Tuesdays and Thursdays from 12:15 to 1:30. The first class meeting, the midterm exam, and the final exam will be in Science Building Room B-141. Other classes will meet in a special classroom, Science Building A-205.

This section of CSCI 100 is part of a “Freshman Year Initiative” (FYI) learning community. That means that all 20 of you are registered for the same section of English 110, taught by Mr. Scott Kapuscinski. The big advantage of being part of an FYI community is that it gives you a chance to get to know, and to work with, a small group of fellow freshmen as you navigate your first semester at Queens College.

Class meetings begin with a brief quiz based on the reading, lecture, and/or video assignments being covered at the time. Classes end with a brief “takeaway” exercise in which you summarize your experience in that class.
These quizzes and takeaways are graded on a 3-point scale:

If you don’t take a quiz or submit a takeaway, you get 0 points for it. Fifteen per cent of your course grade will be based on your quiz and takeaway scores, which will be computed as follows: your quiz score will be your total number of quiz points divided by 2 times the number of quizzes; likewise for your takeaway score. At the end of the term you will have a quiz score and a takeaway score, which are your total quiz/takeaway points divided by 2 times the number of quizzes/takeaways.

Science Building Room A-205 is the “open lab” for this course. With the exceptions noted above, we always meet there because it is a better instructional setup than the regular classroom.

But you will be using the lab outside of class times to do your coding assignments. The lab will be available any time the Computer Science Department Office is open, including evening hours. You will be learning to work with electronic circuits called microcontrollers, both for assembling basic circuits and for writing code to manipulate those circuits. The tools and equipment you need to do your homework assignments are kept in small lockers in the room. You and a partner from the course will be given the combination to one of the lockers, where you can keep your lab materials to use outside of class time.

The computers in the lab have the software you will need for the course already installed, but you can also install the same software on your own computer at no cost if you prefer to do your assignments outside the lab. However, (a) you will have to use the circuits in the lab to test your code before you submit it, and (b) you will have to leave the code for your assignments in your lab account in order to receive credit for them.

It’s all right to use the lab as a study room for your other classes, but not for meals. There is another section of CSCI 100 that uses the lab this semester, so the room will not be available when that section is meeting (Wednesdays from 4 to 7 pm).

Homework will consist of a mix of writing and coding exercises. You can do the written assignments anywhere, but the code has to be written and tested either in the lab or online at create.arduino.cc. If your code is in the lab, you don't have to do anything to submit it; I will simply get a copy from your account and test it after the due date. If you use the online system, you will have to share the project with me in order for me to grade it. I do not accept code submitted by email.

Class Meetings and Time Commitment

There are two 75 minute class meetings per week. Attendance will not be taken (except at the beginning of the semester to verify your registration for the course), but students who often miss class will probably fail the course because (a) exams and assignments depend heavily on material covered only in class and (b) you need to attend class to get credit for the brief quizzes and takeaways.

The course requires a regular time commitment from you, 3 hours of class meetings plus 6 hours of “preparation (study, homework) time” each week. This is the standard “Carnegie formula” for college courses: a full-time course load (12 credits) demands as much of your time as a full-time job, so if you take five 3-credit courses, each one requires a 9-hour time commitment per week. (5 courses times 9 hours = 45 hours per week.) The difference between college and work, of course, is that no one is keeping track of the time you spend on the job other than you. Instead, you have to manage your time yourself, and you will have exams and assignments that assess how you are performing in the course.

There will be coding assignments in this course that will require a considerable amount of your time. At the beginning it will take a lot of time to get even a little bit of code to work. But the more you practice coding, the better you will get.

Course Content

Each topic will be addressed in overlapping segments of the class meetings. That is, we won’t spend X weeks on one topic, then Y weeks on the next one. Rather, we will be revisiting different parts of each topic throughout the course. The percentages show the approximate amount of course time that will be devoted to each topic.

Course Grading

Each semester is a little different, so the following percentages are subject to revision. I will announce any such changes, and will update this list accordingly.

Instructor

The instructor for the course is Dr. Christopher Vickery. See Dr. Vickery’s Contact Information and Office Hours for that information.

Texts

There is no textbook required for this course. Rather, all tutorial and reference material for the course is available at no cost online.

University and College Policies and Services

CUNY Policy on Academic Integrity

Academic dishonesty is prohibited in the City University of New York and is punishable by penalties, including failing grades, suspension, and expulsion. The CUNY Policy on Academic Integrity (http://policy.cuny.edu/manual_of_general_policy/article_i/policy_1.03/text/) defines and gives examples of academic dishonesty and describes the procedures to be followed when cases of academic dishonesty occur.

Use of Student Work

All programs in New York State undergo periodic reviews by accreditation agencies. For these purposes, samples of student work are occasionally made available to those professionals conducting the review. Anonymity is assured under these circumstances. If you do not wish to have your work made available for these purposes, please let the professor know before the start of the second class. Your cooperation is greatly appreciated.

Accommodations for Students with Disabilities

Students with disabilities needing academic accommodation should register with and provide documentation to the Office of Special Services, Frese Hall, room 111. The Office of Special Services will provide a letter for you to bring to your instructor indicating the need for accommodation and the nature of it. This should be done during the first week of class. For more information about services available to Queens College students, contact the Office of Special Services (718-997-5870) or visit their website (http://www.qc.cuny.edu/StudentLife/services/specialserv).

Course Evaluations

During the final four weeks of the semester, you will be asked to complete an evaluation for this course by filling out an online questionnaire. Please remember to participate in these course evaluations. Your comments are highly valued, and these evaluations are an important service both to fellow students and to the institution. Your responses will be pooled with those of other students and made available online, in the Queens College Course Information System (http://courses.qc.cuny.edu). Please also note that all responses are completely anonymous; no identifying information is retained once the evaluation has been submitted.

Technical Support

The Queens College Helpdesk (http://www.qc.cuny.edu/computing/, (718) 997-4444, helpdesk@qc.cuny.edu) is located in the I-Building, Room 151 and provides technical support for students who need help with Queens College email, CUNYportal, Blackboard, and CUNYfirst.