Syllabus - Course Plan

Semester: Spring 2013
Course Number and Title:
CSC 200 Introduction to Computer Science
Instructors: Tom Faigle and Rick Wolfe
Prepared by: Carlotta Eaton, Course Manager (signature on file)
Approved by:
Dan Lookadoo, Dean (signature on file)
Note: This one page handout is a subset of the course plan. Please see the course web site (www.nr.edu/csc200) for the complete plan.

I. Course Description

Provides broad introduction to computer science. Discusses architecture and function of computer hardware, including networks and operating systems, data and instruction representation and data organization. Covers software, algorithms, programming languages and software engineering. Discusses artificial intelligence and theory of computation. Includes a hand-on component. Lecture 4 hours. Total 4 hours per week. 4 credit hours.

Students may not receive credit for this class if they have previously taken IST 153/154. CSC 200 is a pre-requisite to all programming languages at NRCC such as Visual Basic (ITP 112 and ITP 212), C++ (ITP 134) Java (ITP 120 and ITP 220), and PHP (ITP 240).

Prerequisites

Minimum Prerequisite Knowledge

Students are expected to have completed several courses utilizing computers at the high school level before attempting this course. Computer Science is generally considered an intermediate level computer skill. You should be proficient at the high school level in following pre-requisite skills before starting this course:

  • Keyboarding at 30 words per minute or faster.
  • Windows operating system basics such as:
    • booting up the system, starting an application, exiting an application and using the Windows help system.
    • maximizing, minimizing, resizing, tiling and closing windows on the screen.
    • file and folder management such as creating, copying, deleting and moving folders, and creating, copying, deleting, moving and finding files in the appropriate folder
  • Office applications such as Word, Excel, Power Point and Access.
    • Word processing basics such as opening, editing, saving changing and printing existing documents and creating new documents with Word, WordPerfect, or Mac Pages.
    • Presentation basics such as opening, editing, saving, printing and presenting with Powerpoint or Keynote.
  • Email skills such as sending, reading, adding attachments, deleting and responding to messages.
  • Web browser basics such as using a browser to search and find specific web sites or topics with Internet Explorer, Netscape, Opera, Crome or Safari.
  • Math and logic skills or high school level Algebra I course.

II. Instructional Materials

The textbook is available from the college bookstore.
  • Computer Science Illuminated 4th Edition by Nell Dale and John Lewis, @2011 Jones and Bartlett Publishers, ISBN 978-0-7637-7646-6
  • Introduction to Computing & Programming in Python 2nd Edition by Mark Guzdial and Barbara Ericson, © 2010 Prentice Hall, ISBN 978-0-13-606023-9
  • 128MB minimum thumb/flash drive or USB hard drive
  • Notebook to take notes, Folder with pockets to organize handouts and programs
  • Course Web page - http://www.nr.edu/csc200
  • Software
    • You will need Microsoft Word or Mac Pages in order to complete most of your lecture assignments. Word is available in most labs on campus. You will also use Powerpoint and Excel to complete some assignments.
    • You will need Java and the JES editor to create the Python programming assignments. This is installed in Rooker 254 and Mall 109 labs only.
    • The Lego Mindstorms Robotics software is available in the Rooker 253 labs in Dublin and the Mall Lab 109. You will not need this software on your personal computer.

NRCC assumes no liability for virus, loss of data, or damage to software or computer when a student downloads software for classes.

III. Evaluation

Exercises, assignments and exams will be used to evaluate this class according to the following point schedule.
Grading:
2 Exams = 200 points, Final Exam =100,  
Assignments and Programs = 200 (2 * average of all assignments)

A B C D F

450 - 500

400 - 449

350 - 399

300 - 349

0 - 299

IV. Faculty Office Location

Dr. Tom Faigle - Section M1
Office: Mall 125B

Mr. Rick Wolfe - Section 01
Office: Rooker TBD

V. Attendance Requirements

Students are expected to maintain regular, consistent attendance. Please inform your instructor in advance in you plan to miss a class. Attendance will be taken at the beginning of each class.

If you miss a class, you are responsible for getting the missed material. Read the textbook material, check the web page, or contact a classmate for notes before contacting your professor.

Excessive absences or missing assignments before the withdrawal date (twice the number of weekly meetings) will result in Faculty Initiated Withdrawal with a W grade. No refund will be applicable. Excessive absences after the withdrawal date will result in a F grade.

No-Show Policy

A student must either attend face-to-face courses or demonstrate participation in distance learning courses by the last date to drop for a refund. A student who does not meet this deadline will be reported to the Admissions and Records Office and will be withdrawn as a no-show student.  No refund will be applicable, and the student will not be allowed to attend/participate in the class or submit assignments. Failure to attend or participate in a course will adversely impact a student’s financial aid award.

Inclement Weather Policy

If NRCC cancels classes due to inclement weather, any quizzes or exams scheduled for that day will be taken at the next class meeting. Any assignments are also due at the next class meeting.

If NRCC is open, but the roads are bad at your home please stay home. Don't risk your life to come to school. Call or email your instructor. We will view the high school closings to grant leniency for any assignments due.

VI. Course Content (with tentative schedule)

Plan Topic Textbook
  Introduction to Computer Science Applications Chapter 1
Week 1
  • Course Plan (syllabus)
  • General Course Information
  • CSC 200 Web Site
  • Spreadsheets, Database, E-Commerce, Security
  • CSI - Chapter 12 Information Systems
  • More topics in Course CSC 110 Introduction to Computer.
Week 2
  • Turing Test
  • Semantic Networks
  • Neural Networks
  • Robotics
  • CSI - Chapter 13 Artificial Intelligence
  • More topics in Robotics labs.
Week 3
  • Simulation Models
  • Computer Graphics
  • Game Design & Development
  • CSI - Chapter 14 Simulation, Graphics, Gaming and Other Applications
  • More topics in ITP 160 Intro to Game Design & Development.
Week 4
  • Types of Networks, Packet Switching
  • OSI Layer Model, Network Protocols
  • Social Networks
  • CSI - Chapter 15 Networks
  • More topics in ITN 101 Intro to Network Concepts.
Week 5 Exam 1 Chapters 12-15  
Week 6
  • Search Engines
  • HTML
  • Interactive web
  • XML
  • CSI - Chapter 16 The World Wide Web
  • More topics in ITD 110 Web Page Design I.
  Introduction to Computer Science  
Week 7
  • Computing Systems
  • History of Computing
  • Computing as a Discipline
  • CSI - Chapter 1 The Big Picture
  Introduction to Data Represenetation  
Week 8
  • Binay, Octal and Hexadecimal numbers
  • CSI - Chapter 2 Data Representation
Week 9
  • Analog and Digital Data
  • Numeric Data
  • Representing Text
  • Representing Audio
  • Representating Images & Graphics
  • Representing Video
  • CSI - Chapter 3 Data Representation
Week 10 Exam 2 Chapter 16, and 1-3  
  Media Computation  
Week 11
  • Programming in Python
  • Showing an image
  • Playing a Sound
  • Naming Values
  • Variables
  • Python - Chapter 2 Introduction to Programming

Week 12

  • Representing Images and Graphics
  • Manipulating Images with code
  • Create Loops
  • Create Functions
  • Python - Chapter 3
    Modifying Pictures Using Loops

 

  Text and Files  
Week 13
  • Text and Unimedia
  • Strings
  • Object oriented string methods
  • Opening, writing and closing files
  • Python standard library
  • Python - Chapter 10 Creating and Modifying Text
  Computer Science Topics  
Week 14
  • Problem Solving
  • Top-Down Design
  • Bottom-Up Design
  • Testing
  • Debugging
  • Algorithm Design
  • Create Executables
  • Searching Algorithms
  • Sorting Algorithms
  • CSI - Chapter 7 Problem Solving and Algorithms
  • Python - Chapter 9 Building Bigger Programs
Week 15
  • The final exam will be given at the scheduled final exam time
  • Final Exams

VII. Learning Objectives

This course is based on the Computing Curricula 2001 project (CC2001) -- a joint undertaking of the Computer Society of the Institute for Electrical and Electronic Engineers (IEEE-CS) and the Association for Computing Machinery (ACM) to develop curricular guidelines for undergraduate programs in computing. This course covers the following CS0 and CS1 topic guidelines.

Students will be provided the opportunity to develop knowledge and skills in the following areas

  • Python will be an important component of this course to apply your computer science knowledge. We will be using the Multimedia Computing Approach to programming in this course and will be manipulating images, text, files and movies using the Python programming language.
  • Lego NXT Mindstorm Robotics will be an important component of this course to apply your computer science knowledge. You will
    • Use planning techniques to create a solution and algorithm to solve the problem
    • Build the robotic element using Legos
    • Design and code the program to solve the problem using your planned solution
    • Run and test your solution using the Lego robotic element
  • Describe a computer program and programming logic
  • Computing Systems --
    • Describe the layers of a computer system, concept of abstraction and relationship to computing.
    • Describe the history of computer hardware and software
    • Describe the changing role of the computer user; distinguish between systems programmers and applications programmers, distinguish between computing as a tool and computing as a discipline.
  • Number Systems
    • Distinguish among categories of numbers; describe positional notation; convert numbers in other bases to base 10 and back;
    • Explain the importance to computing of bases that are powers of 2; describe the relationship between bases 2, 8 and 16
  • Data Representation
    • Explain the data hierarchy and how data is organized and describe the relationship among databases, files, records, fields, characters and bits
    • Distinguish between analog and digital information; explain data compression, explain the binary formats for negative and floating-point values
    • Describe the characteristics of the ASCII, UNICODE, EBCDIC and ANSI character sets
    • Perform various types of text compression; explain the nature of sound and its representation, explain how RGB values define a color; distinguish between raster and vector graphics
    • Explain temporal and spatial video compression
  • Problem Solving and Algorithm Design
    • Determine whether a problem is suitable for a computer solution
    • Describe the computer problem solving process and relate it to Polya's How To Solve It list
    • Distinguish between following an algorithm and developing one
    • Apply top-down design methodology to develop an algorithm to solve a problem
    • Explain the purpose of a flowchart and the advantages and disadvantages of using flowcharts to plan logic
    • Draw simple flowcharts that include decision making, loops, subroutines, calculations, counters, and accumulators
    • Use object-oriented terminology and define the key terms
    • Apply object-oriented design methodology to develop a collection of interacting objects to solve a problem
    • Discuss the following terms as they relate to problem solving: information hiding, abstraction, naming things and testing.
    • Explain the steps of the software development life cycle
  • High-Level Programming Languages
    • Explain how and why programs written in high-level languages are translated into machine language; Describe the translation process and distinguish between assembly, compilation, interpretation, and execution
    • Explain how procedure-oriented, visual (event-driven), object-oriented and internet languages differ
    • Name 4 distinct programming paradigms and name a language characteristic of each
    • Understand the advantages and disadvantages of structured programming;
    • Understand the control structure concepts for sequence, selection, repetition; stream input and output, and subprograms
    • Use structured programming concepts to draw flowcharts and other planning diagrams
    • Construct boolean expressions and describe how they ar used to alter the flow of control of an algorithm
    • Define the concepts of a data type and strong typing; Know when and how to use variables and constants
    • Name, describe and give examples of the 3 essential ingredients of an object oriented language; Explain how objects interact with each other
    • Use object oriented concepts to draw design diagrams and other planning methods
  • Abstract Data Types and Algorithms
    • Define an abstract data type and discuss its role in algorithm development
    • Distinguish between a data type and a data structure.
    • Distinguish between an array and a list; between an unsorted list and a sorted list.
    • Distinguish between a selected sort, bubble sort and quicksort
  • File Systems
    • Describe the purpose of files, file systems and directories
    • Distinguish between text and binary files; identify various file types by their extensions
    • Define the basic operations on a file
    • Compare and contrast sequential and direct file access

VIII. Instructional Procedures

The course will consist of discussions, demonstrations, exercises, hands-on exercises, programming exercises, case studies, projects, assignments and exams.

IX. Withdrawal Policy

Student Initiated Withdrawal

    A student may drop or withdraw from a class without academic penalty during the first 60% of a session. For purposes of enrollment reporting, the following procedures apply:

    1. After the add/drop period, but prior to a completion of 60% of a session, a student who withdraws from a class will be assigned a grade of "W".
    2. After that time, if a student withdraws from a class, a grade of "F" will be assigned.

    See the current NRCC  Catalog  for more details.

Instructor Initiated Withdrawal

  • A student who adds a class or registers after the first day of class is counted absent from all class meetings missed. Each instructor is responsible for keeping a record of student attendance in each class.
  • Students who have not attended class by the last day to drop the class and receive a refund will be deleted by the instructor during the following week. No refund will be applicable.
  • When a student’s absences equal twice the number of weekly meetings of a class (within the first 60% of classes), the student will be dropped for unsatisfactory attendance in the class by the instructor. The student will be notified of the withdrawal grade of "W" by the Admission and Records Office.
  • After that time, a grade of "F" will be assigned for unsatisfactory attendance.
  • See the current NRCC Catalog for more details.

Withdrawal from the College

A student who wishes to withdraw from the college should contact a counselor to determine the appropriate procedure. Failure to follow established procedure could place the student’s college record in doubt and prejudice the student’s return to this or another college.

X. Academic Honesty

    The NRCC Code of Conduct states:

    As a member of the New River Community College Student Body,
    I will act in a responsible manner with the utmost integrity at all times.
    I will obey all college rules and regulations.
    I will respect the rights and privileges of others.

    Students will be expected to maintain complete honesty and integrity in their experiences in the classroom. Any student found guilty of dishonesty in academic work is subject to disciplinary action. Penalties include but are not limited to disciplinary probation, withholding of transcript or degree, denial of degree, suspension or expulsion. See the current NRCC  Student Handbook for more information and details.

    Sexually Explicit Material: Warning! Despite the wealth of great material on the web, there are also objects in poor taste. Do not download them or view them on any NRCC computer. Display of sexually explicate images may result in suspension or permanent expulsion from the class at the discretion of the professor. These images are very clearly marked and cannot be downloaded by "accident". Displaying these images on any screen in the computer lab, at any time, would cause embarrassment, would be in extremely poor taste and could be seen as sexual harassment.

Disability Statement

    If you are a student with a documented disability who will require accommodations in this course, please register with the Disability Services Office located in the Counseling Center in Rooker Hall for assistance in developing a plan to address your academic needs.

Diversity Statement

    The NRCC community values the pluralistic nature of our society.  We recognize diversity including, but not limited to, race, ethnicity, religion, culture, social class, age, gender, sexual orientation and physical or mental capability.  We respect the variety of ideas, experiences and practices that such diversity entails.  It is our commitment to ensure equal opportunity and to sustain a climate of civility for all who work or study at NRCC or who otherwise participate in the life of the college.

NRCC Learning Links

    Additional resource materials for some New River Community College classes can be found on the NRCC Web-based learning site at nr.edu/learninglinks.

Last Update: January 17, 2013

Copyright Carlotta Eaton