Syllabus for CSci 1302, Spring 2014

This is the course syllabus for Nic McPhee's Spring 2014 Foundations of Computer Science (CSci 1302) course at the University of Minnesota, Morris. For additional information (e.g., events and assignments) see the course schedule.

This is a 4 credit course which meets MWF 9:15-10:20, in Sci 1030. There are no pre-requisite(s) for this course, although parts of it will be better motivated if you've had at least a little experience with programming, and it's crucial that you feel fairly comfortable with basic algebra and symbol manipulation.

Course description

The catalog description for the course:

Basic proof techniques, propositional and predicate logic, induction and invariants, program correctness proofs, simple Big-Oh analysis of algorithms, set theory, introductory graph theory, and basic summations.

In summary, this course provides an introduction to discrete mathematics and other tools necessary to more formally understanding the meaning, correctness, and performance of algorithms. In practice most of the course will focus on ways of mathematically formalizing concepts that are crucial in computing, with special emphasis on logic and proofs. In key ways, this is the material that is crucial for moving from computing (and especially programming) as a craft to computing as a science.

Course goals and learning objectives

Key goals for this course include:

Nic's Fall 2015 office hours

My office hours for Fall, 2015, are:

I'll typically start my office hours in my office (Sci 1315), but I may well move to a lab if, for example, a group has a question about a project they're working on. The lab I'd be most likely to go to is:

If I leave the office during office hours I'll try to leave a note on my door telling you where I am, but you should always feel free to check the labs if you're looking for me.

Those times almost certainly won't work for everyone. You're always welcome to just drop by (see my complete schedule), and I'm happy to make appointments anytime I'm free. You may also find my contact info useful.

If these times work very badly for you (e.g., you have class conflicts all of these hours) then please let me know. If it turns out that a lot of folks have major conflicts then I'll want to reconsider my choices.

Nic's contact info

Nic McPhee's contact info
E-mail mcphee AT morris DOT umn DOT edu This is the preferred method of contact, but be warned that I get a lot of e-mail and bits get dropped now and then. Phone or IM is often better if it's critical or you need immediate feedback.
Web This is my "official" University web page, which consists primarily of links to my course web pages.
Chat/messaging Same address as my e-mail above.  
Twitter My name as a WikiWord, i.e., "Nic McPhee" without the space Make sure you identify yourself if your Twitter username doesn't obviously relate to the name on my course list smile
Office Sci 1315 Downstairs at the east end of the Science office wing
Office phone 320-589-6320 I don't have voice mail set up, so it'll just ring forever if I'm not there.
Division office 320-589-6300 They'll be happy to take a message, but phone, IM, or e-mail is better.
Fax 320-589-6371 I don't get faxes very often, so you should probably warn me (e.g., via e-mail) so I'll make a point to check for a fax.

Mailing address:

Nic McPhee
Division of Science and Mathematics
University of Minnesota, Morris
600 E. 4th Street
Morris, MN 56267-2132

I use the U's Google calendar to manage my calendar. Google may be the Evil Empire of the next decade, but they make a fine on-line calendar tool. If you're using Google calendar, feel free to use that to invite me to events/appointments.

Texts and other materials

This course has one required text:

Course outline

As well as a tentative initial schedule, I will also maintain a set of on-line lecture notes and the the Moodle site for this course has things like specific assignments and additional notes.

This is a very important, but often very challenging course. Most of you will have come from an intro programming course like CSci 1301 or be concurrently taking an intro programming course like CSci 1201, and this will be totally different from those. While those courses are largely about our interactions with computers, this course is about our interactions with the mathematics that underpins computing. As a result it will be a very conceptual course, and almost entirely pen and paper rather than "on the computer".

My plan is to use much of the class time for Q&A, examples, and group work; I do not intend to repeat the bulk of the book in lecture. This means that you need to read the book carefully, slowly, and in advance. The book is dense and complex, however, so that's not always going to be easy. I strongly recommend that you start early, do examples, and note down questions as they come up! As well as traditional office hours, the TAs and I will also have various evening sessions where we'll be available to help work through examples and questions. Please do ask questions if you are ever confused or need a hand.

When I list one or more exercises in the "Learning goals" for a week on the the Moodle site for this course, these are all exercises that you should be comfortable doing if asked. They could show up on WDYKs, problem sets, exams, or as questions or examples in class. You should be agressive and do as many of these as you find helpful. Don't just do the minimum set to get by, as that will hurt later in the semester. I might recommend that you get a 3-ring binder or similar to keep track of your work and start each new theorem on a new sheet. That way you can keep related material together, like multiple proofs of the same theorem that you or we come up with at different times during the semester.

Course work and grading

We will have a combination of what-do-you-knows (ungraded "quizzes" just to see where everyone is), problem sets (combination of "math" problems and at least a few "programming" problems), two exams (probably in-class), and a final (also probably in-class). The course points will be distributed as:

The first mid-term exams will be on Friday, 21 Feb 2014. The second will be on Friday, 11 Apr 2014. The final will be during the scheduled finals period, 1:30-3:30pm, Monday, 5 May 2014.

The what-do-you-knows (WDYKs) are ungraded "quizzes" to see how everyone's doing. You will get points for being present and making an effort, but your effort doesn't need to be correct to get the points. It's OK to simply say "Not a clue", but it would be better to at least take a stab at the problem so we can get a better sense of where people are. You get one "free" missed WDYK during the semester. The schedule of WDYKs is on the course schedule and on Moodle; let me know ASAP if you'll need to miss one.

On homeworks you're are allowed, and even encouraged, to work in groups as long as each person turns in their own work. It's obviously crucial that you understand whatever solutions are arrived at by the group so that you can be successful on things like exams.

You may use five grace days however you would like throughout the term. This means you may turn in one assignment five "school days" late, or five assignments one "school day" late, or some other combination, with no penalty. Here a "school day" is a day that classes, though not necessarily this one, meet on campus - e.g. no weekends or holidays will count against you. I will try to grade your assignment quickly, but you might not get your grade with everyone else. Once you're out of grace days, you may turn in late work, but there is no guarantee that it will be graded, and if it is that won't happen until finals week. If you wish to use grace days on an assignment you must explicitly indicate that on the assignment.

Work on the exams needs to be independent, and any sort of borrowing, collaboration, or plagiarism can lead to significant penalties, including a zero on the exam or an F in the course.

The primary factors used in grading will be correctness, completeness, and clarity.

Grades will be entered on the the Moodle site for this course and can be checked there throughout the semester. If you have any questions or concerns, please bring them up right away when it's much easier to address them.

Grading standards (definition of grades)

Senate academic workload policy

For undergraduate courses, one credit is defined as equivalent to an average of three hours of learning effort per week (over a full semester) necessary for an average student to achieve an average grade (a C) in the course. For example, an average student taking a four credit course that meets for four hours a week should expect to spend an additional eight hours a week on course work outside the classroom in order to get a C in that course.

General information

Student privacy

Federal law protects your right as a student to keep your work and identifying information confidential. Public discourse, however, is crucial to the intellectual and academic process, whether it be within the course or in the broader world. Information such as grades will be protected and confidential, but our our use of technologies such as Moodle, wikis, and Google Docs will sometimes make students' names and U of M Internet IDs visible to other people in the course and, potentially, to the wider Internet. If you have concerns about the visibility of your Internet ID, please contact me for further information.

Academic assistance

The Academic Assistance office on campus provides free tutoring for a variety of introductory courses, and well as general assistance in a host of areas (e.g., study skills, careful reading, and time management). The Writing Room can be an excellent source of assistance with writing assignments.

Accessibility and institutional support

The University of Minnesota is committed to providing all students equal access to learning opportunities. Disability Services is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations. Students registered with Disability Services who have a letter requesting accommodations, are encouraged to contact the instructor early in the semester. Students who have, or think they may have, a disability (e.g. psychiatric, attentional, learning, vision, hearing, physical, or systemic), are invited to contact Disability Services for a confidential discussion at 320-589-6163 or freyc AT umn DOT edu. Additional information is available at the DS web site at .

The University of Minnesota is committed to providing all students equal access to learning opportunities. Disability Services is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations. Students registered with Disability Services, who have a letter requesting accommodations, are encouraged to contact the instructor early in the semester. Students who have, or think they may have, a disability (e.g. psychiatric, attentional, learning, vision, hearing, physical, or systemic), are invited to contact Disability Services for a confidential discussion at 320-589-6163 (320-589-6178 V/TTY) or . Additional information is available at the DS website .

As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety, alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance or reduce your ability to participate in daily activities. University of Minnesota services are available to assist you with addressing these and other concerns you may be experiencing. You can learn more about the broad range of confidential mental health services available on campus via .


University policy prohibits sexual harassment as defined by the University of Minnesota Regents' policy: In general, harassment or intimidation of others in the class for whatever reason is unacceptable (and hardly conducive to a successful learning environment).

Regarding academic integrity

Scholastic honesty is of fundamental importance to the functioning of any community of scholars. Although the pursuit of knowledge is always a communal project, individual academic achievement must be the result of a person's own efforts and abilities. Members of an academic community are responsible for their own personal and academic development and for fostering an academic climate in which all members draw from and give back to the community. The University is charged with implementing those policies which will help bring about such an academic climate. However, the ultimate responsibility for creating a community of scholars, in which mutual self-respect flourishes, lies with the individual members of the community. Each member must, therefore, act according to the highest standards of academic honesty.

-- from the preface of UMM's Student Academic Integrity Policy

Academic integrity is essential to a positive teaching and learning environment. All students enrolled in University courses are expected to complete coursework responsibilities with fairness and honesty. Failure to do so by seeking unfair advantage over others or misrepresenting someone else?s work as your own, can result in disciplinary action. The University Student Conduct Code defines scholastic dishonesty as follows:

Scholastic Dishonesty: submission of false records of academic achievement; cheating on assignments or examinations; plagiarizing; altering, forging, or misusing a University academic record; taking, acquiring, or using test materials without faculty permission; acting alone or in cooperation with another to falsify records or to obtain dishonestly grades, honors, awards, or professional endorsement.

Within this course, a student responsible for scholastic dishonesty can be assigned a penalty up to and including an "F" or "N" for the course. If you have any questions regarding the expectations for a specific assignment or exam, ask.

For more information see:

Regarding classroom conduct

Students are expected to interact with the instructor and other students with respect and courtesy. Students should attend every class session prepared to learn and work. Participation in class is expected, which includes both speaking up and listening. Give class your full attention while here. Complete all assignments, including the reading, in a timely fashion. Turn off cell phones and other electronic distractions during class so we may all better focus on the material. Students whose behavior is disruptive either to the instructor or to other students will be asked to leave. Students whose behavior suggests the need for counseling or other assistance may be referred to counseling services. Students whose behavior violates the University Student Conduct Code will be subject to disciplinary action.

Some relevant University Senate statements and policies

-- NicMcPhee - 13 Jan 2014

SyllabusForm edit
Name Foundations of Computer Science
Discipline CSci
Course # 1302
Term Spring
Year 2014
Num credits 4
Days and time MWF 9:15-10:20
Location Sci 1030
Pre-requisites None
Course URL
Moodle course # 10971