Syllabus for CSCI N301 Fundamental CS Concepts

Section B242

Lecture times MW, 9:30 - 10:45 AM
Lab times MW 8:00 - 9:15
Location Lecture: BS 2005
Lab: SL 251
Instructor Andy Harris

Proposed Calendar

Academic Calendar

Expectations

This class is intended for people who are extremely comfortable with HTML and the basic concepts of computing. (CSCI N241 or equivalent) This is NOT an introductory computing course, but a course in basic computer science theory. Those looking for a course in application use or other 'literacy' skills should talk to the instructor about taking N100, N241, or some other course first.

This course will deal with the foundations as computing as a scientific discipline. Many of those foundations are grounded in mathematics, so mathematical skill equivalent to Math M118 Finite math is expected as a minimum. Of course if you have some skills in algebra or calculus, that's even better.

Programming experience is not expected, but of course it is nice to have.

Course Objective

The purpose of this course is to gain a broad oversight of the discipline of formal computer science. This is a theory course, but almost every concept we cover will be applied many times throughout the career of a student in the ACS certificate program. These are concepts that are of great benefit to any working programmer.

Our main topics of conversation will be as follows:

Assignments and Projects

Students will generate a number of assignments throughout the course. Most assignments will be posted on a web site hosted on the departmental server (cs.iupui.edu). These are skills that can only be learned by practice, so we will practice a lot. There will be roughly one assignment per week. If you fall behind in the assignments, you will not succeed in the class. It's that simple. In addition to these weekly assignments, there will be a larger integrative assignment at the midterm, and a final project which is intended to tie everything together.
While we will give some lab time, you will probably want to spend time outside of class working on your projects. You should plan on some outside time, especially as the final project draws near. You can do class work on any machine that has some kind of internet capability. Also, most of the classwork in this course is best done away from the computer. You will most often use your computer to access resources, check your answers, and submit your homework.

Grading Scheme

The final grade will be based upon the following breakdown:

Late assignments

Lab assignments will be worth 10 points apiece and shall be due one week from the day on which they were assigned. All late assignments will be assessed a 20% penalty. It should be noted that if the instructor is unable to view a file (due to a student's misconfiguration) on the due date, that assignment shall be considered late for grading purposes.

Incompletes

A grade of incomplete is not intended to serve as a drop or withdrawal after the time period for submitting a drop has expired. Incompletes will only be permitted under the following conditions:

  1. The student has satisfactorily completed all course requirements up until the time of the incomplete.
  2. The student demonstrates that being required to complete the course within the semester's time constraints would cause extreme personal hardship.
  3. The student and instructor agree to a plan to complete the remaining coursework in a reasonable time period not unduly burdensome upon the student.
  4. All paperwork required to issue the incomplete is completed and turned in to the CSCI office staff before final grades are issued.
  5. At least 75% of course work must be completed before an incomplete can be considered.

Academic Misconduct

One of the finest traditions of computing is the concept of openly sharing and refining code written by others. In the forms of work we will do, it will be very easy to use resources written by others. In fact, sometimes we will do so as a part of the course. As in any other kind of scholarship, there is a difference between 'standing on the shoulders of giants' and plagiarism. Although you will be encouraged to examine the code of others, you MUST do original work for this course.

When using online or other resources, remember that you are taking the class to learn something, and simply submitting answers generated by somebody else's program will not help you to learn. Make sure that you understand what you are doing, and that you do your own work.

If we are concerned about something you wrote, we will not place a grade on it until we have a chance to talk to you. If we suspect that you have turned in plagiarized work, we will follow the steps outlined in the student code of academic conduct. We will vigorously pursue allegations of suspected plagiarism. It just isn't worth it.

Reaching me

Here's the best ways to get ahold of me:
Andy Harris
Office SL 280 D
email aharris@cs.iupui.edu
web page http://www.cs.iupui.edu/~aharris http://www.cs.iupui.edu/~

© Andy Harris
Indiana University / Purdue University, Indianapolis
email: aharris@.cs.iupui.edu
homepage: www.cs.iupui.edu/~aharris