Course Description and Objectives / Student Responsibilities
Textbook / Attendance Policy
Software / Academic Dishonesty
Methods of Instruction / ADAAccommodation Notice
Evaluation

Instructor:Dr. Vladimir Zanev
Office Location/Phone Number: CCT 442/ (706) 507-8182
Office Hours: Mon, Wed, Fri: 10:00 a.m.-12:00 noon.; Tue,Thu: 2:00-4:00 p.m.
E-mail: CougarVIEWclass e-mail or
Websites: (CougarVIEW)

This course is offered as an online class in the Fall semester of 2012. Class meets 100% online at

/
and
/

The Board of Regents suggests two hours of outside preparation for each credit hour course. In an online course, students should add three hours to compensate for the seated class time and therefore expect to study a minimum of eighteen hours each week. Since students' ability to read for content varies, this is only an estimate of required reading and study time.

Online Interface:
Vista and Study Pack will be the primary tools of online study and interaction in this course. Course materials (course outline, schedule, labs, quizzes, e-texts, slides, forums, resources, and grading will be available through Study Pack and CougarVIEW (WebCT Vista).

1. CougarVIEW:
You can access CougarVIEW at:

or
At this page, click on the "Log-in" link to activate the WebCT Vista logon dialog box, which will ask for your WebCT Vista username and password. Your WebCT Vista username and password are:

Username: lastname_firstname
Password: DDMMYY
where DDMMYY is the student birth date. (Example - Birthday of Oct. 25, 1978 is 251078)

If you try the above and WebCT Vista will not let you in, please use the "Comments/Problems" link at the bottom of the WebCT Vista home page to request help. If you are still having problems gaining access a day or so after the class begins, please e-mail me. Once you have clicked on the course's name and accessed the course itself, you will find a home page with links to the three part of the course (three study packs), course outline, schedule, exams, and other tools.

2. Study Pack
You can access Study Pack at:

or

At this page, click on the "login" link at the right upper corner of the Web page to activate the Study Pack login dialog box, which will ask you for username and password. To access the Study Pack parts of the course you can use the links on the WebCT Vista course Home page also.
You have to create your own accounts on Study pack for the three part of our CPSC 6106 course. For detailed instructions how to create accounts on Study pack (including the class enrollment key) check How To ... page on CougarVIEW (WebCT Vista).

Top ...

Course Description and Objectives

Course Description:
Computer programming, declaration of variables, definition of abstract data types, data manipulation, conditional statements, loops, functions and subroutines, standard input/output control, file manipulation, object-oriented programming, and data structures. May not be applied to a degree program. Need a B or better to show proficiency (from the CSU Catalog 2011-2012).

This course is an introduction to the fundamentals of computer programming. It covers topics from three Computer Science courses: Introduction of CS I, Introduction of CS II, and Data Structures. The key objectives of this course are:

  • to teach the fundamental concepts of computer programming
  • to provide extensive hands-on experience with programming languages, tools, and program development
  • to introduce basic data structures and algorithms

The course consists of three parts:

  • [Part 1]: Python
  • [Part 2]: Java
  • [Part 3]: Data Structures

Each of these three parts is organized as a study pack with online e-texts, slides, labs, quizzes, and exams.
[Part 1]: Python
This is an introduction to Computing Science through an interactive and easy to learn programming language, Python. Previous computing experience is not required. [Part 1]: Python consists of ten topics (modules) covered for five weeks. It covers fundamental programming concepts as program, variables, assignment, program control: selection, repetition, functions, strings, input-output, and files. The Python part of the course introduces topics as lists, dictionaries, graphics, interfaces, and classes that will be considered in details in [Part 2]: Java and [Part 3]: Data Structures.
[Part 2]: Java
This part of the course offers a comprehensive study of object-oriented computing with a mainstream programming language, Java. [Part 2]: Java consists of twelve topics (modules) covered for seven weeks. The course emphasizes programming using object-oriented methods and Java programming language. The fundamentals used in designing, developing and using classes, encapsulation, inheritance mechanisms, interfaces, exception handling and threads will be considered. An overview of arrays, vectors, file structures, and graphical user interfaces.
[Part 3]: Data Structures
[Part 3]: Data structures is a short introduction to basic data structures and algorithms. It consists of five topics (modules) covered for four weeks. This course extends the concepts of primitive data types by teaching the student a classical set of data structures that pervades both the theoretical and practical domains of computer science. Topics discussed include generic data types, lists, queues, stacks, and binary trees. Searching and sorting algorithms are considered also.

Objectives
At the completion of this course, students will have an understanding and knowledge of:

  • basic computer concepts, data representation, and an introduction to programming through Python and Java
  • main programming building blocks: data types, variables, constants, expressions, arithmetic operators, and statements
  • program flow of control: forming conditions, if, if/else, if/else if, comparing numbers and objects, conditional operator (?:), and switch statement
  • looping control structures: event-controlled loops (while and do/while statements), count-controlled loops (for statement), and nested loops
  • how to work with Integrated Development Environments (IDEs), how to develop programs with an Editor, how to compile programs, how to run programs, and how to debug programs
  • classes, methods, instantiation, client applications, and how to use predefined classes
  • inheritance, graphical user interfaces (GUI)
  • input/output operations and file processing
  • data structures such as stacks, queues, lists, and binary trees
  • different searching and sorting algorithms

Top ...

Textbooks

The textbooks for the three parts of the course: [Part 1]: Python, [Part 2]: Java and [Part 3]: Data Structures are organized as e-texts available online at the course Web site at Each e-text is separated in sections delivered in the corresponding course part topic by topic.

[Part 1]: Python / e-text, slides, lab files - available at
How to Think Like a Computer Scientists: Learning with Python, 2nd Ed, by Jeffrey Elkner, Allen B. Downey, and Chris Meyers (online textbook, free)
[Part 2]: Java / e-text, slides, lab files - available at
Additional online Java Resources are available under Reference section
[Part 3]: Data Structures / e-text, slides, lab files - available at

Top ...

Software

Software
To complete all lessons, labs, quizzes, and exams, you will need a computer with:

  • Windows XP/Vista/7, Internet Explorer (or another browser)
  • MS PowerPoint
  • Python IDE (to install Python see How To ... Web page)
  • Java Version 6 (Java Development Kit (JDK), to install JDK see How To ... Web page)
  • DrJava IDE (to install DrJava see How To ... Web page)

Top ...

Methods of Instruction

Methods of Instruction:

  • online study (self-study sessions)
  • lab assignments
  • online lab reports
  • online quizzes
  • exams

Online Study
A self-study session is supposed to make an introduction to a topic. Each student is expected to complete thoroughly all readings from the e-texts and slides following the course schedule topic by topic. Make your own notes. They help you to memorize basic concepts and notions and you can use them during the lab sessions for easy reference.

Lab Assignments and Reports
Lab assignments are scheduled topic by topic. Completed labs are submitted online. Credit for lab assignments is received by means of an honor report system. At the end of the study of each topic, students are required to submit their lab work and file an online lab report. In the report, students specify all completed and partially completed labs. Provisional lab credit is awarded automatically once the report is filed. Submitted labs and reports are subject to audit by the instructor and provisional lab credits can be reduced by the instructor. Credit reduction penalties apply when students report lab work that actually had not been performed adequately.
Lab assignments allow multiple online submissions (before the deadline). Students can use various forms of help and can submit a lab work as many times as they want. These lab assignments are intended more as learning tools, rather than as a principal evaluation tools. The lab assignments are designed to help students learn better the course topics and prepare well for exams.

Online Quizzes

One online quiz comes with each topic and is normally due the next day after the topic has been finished in an online session. Online quizzes include true/false, multiple-choice, fill-in, and other similar types of questions that are related to the corresponding topic.
The quizzes allow multiple online submissions and grading (before the deadline). Students can use various forms of help and can submit a quiz work as many times as they want. These quizzes are intended more as learning tools, rather than as a principal evaluation tools. Quizzes are designed to help students learn better the course and prepare well for exams.

Exams

Your performance in this class will be measured by three Final Exams - Python, Java, and Data Structures Final Exams, delivered through WebCT Vista. No makeup exams will be given unless an exam was missed due to a documented emergency.

The three Final Exam will be take-home exams. During the Final Exam you have to solve a problem writing a program (Python program for the Python part, Java program for the Java part and a Data Structure program for the last part of the course). You can use your e-texts, notes, the source code developed through the lab sessions, and Internet or any other resources to solve the programming problem.

The class requirements: online studies, lab assignments, quizzes, reports, and exams are due not later than midnight on the due date. All due dates and times of online studies, lab assignments, and reports are Pacific Standard Time (PST) (since the Studypack server is located in California). All exam dates and times are Eastern Standard Time (EST) (our class site and server on CougarView is located in Georgia).

Top ...

Evaluation

Evaluation
The final grade will be obtained from the following:

Final Grade = (Python Grade)*0.35 + (Java Grade)*0.40 + (Data Structure Grade)*0.25

For the grades of the three part the following scheme will be used:

Quiz Average / 20%
Lab Average / 35%
Final Comprehensive Exam / 45%

Python Grade = (Quiz Average)*0.20 + (Lab Average)*0.35 + (Python Final Exam)*0.45
Java Grade = (Quiz Average)*0.20 + (Lab Average)*0.35 + (Java Final Exam)*0.45
DS Grade = (Quiz Average)*0.20 + (Lab Average)*0.35 + (Final DS Exam)*0.45

The letter grade will be assigned as follows:

Grade / Points
A / 90-100
B / 80-89
C / 70-79
D / 60-69
F / 0 -59

Passing Grade - B (see the CSU catalog).
Top ...

Student Responsibilities

Student Responsibilities

  • Each student is responsible to manage his/her time and maintain the discipline required to meet the course requirements.
  • Each student is responsible to read from the e-texts and slide all topics covered in the online sessions
  • Each student is responsible to execute all lab assignments and lab reports (all lab assignments and lab report date are firm)
  • Each student is responsible to complete all quizzes (all quiz dates are firm)
  • Each student is responsible to take the exams as they are scheduled in the course schedule (all exam dates are firm).
  • Each student is responsible to adhere to all course deadlines

"I didn't know" is no an acceptable excuse for failing to meet the course requirements. Students who fail to meet their responsibilities do so at their own risk.
Top ...

Attendance Policy

Attendance Policy
Attendance at all classes and other activities (lecture periods, laboratory sessions, tests, examinations, or other schedule meetings is required of every student at Columbus State University. The attendance record begins with the first meeting of the class, and one who registers late is responsible for class work missed. Student should note that the Computer Science Faculty does not initiate "class drops". A student wishing to drop should complete the official procedure before the deadline. Those who violate the attendance policy after that deadline may receive an "F" at the discretion of the instructor. After the midpoint of the quarter, no drop slip will be signed by the Dean unless extreme circumstances can be proved.
Top ...

Academic Dishonesty

Academic Dishonesty:Academicdishonesty includes, but is not limited to, activities such as cheating andplagiarism( is a basis for disciplinary action. Anywork turned in for individual credit must be entirely the work of the studentsubmitting the work.All work must be your own.You may share ideas butsubmitting identical assignments (for example) will be considered cheating.You may discuss the material in the course and help one another with debugging;however, any work you hand in for a grade must be your own.A simple way toavoid inadvertent plagiarism is to talk about the assignments, but don't readeach other's work or write solutions together unless otherwise directed. Foryour own protection, keep scratch paper and old versions of assignments toestablish ownership, until after the assignment has been graded and returned toyou.If you have any questions about this, please see me immediately.Forassignments, access to notes, the course textbooks, books and other publicationsis allowed. All work that is not your own, MUST be properly cited. This includesany material found on the Internet. Stealing or giving or receiving any code,diagrams, drawings, text or designs from another person (CSU or non-CSU,including the Internet) is not allowed. Having access to another person's workon the computer system or giving access to your work to another person is notallowed. It is your responsibility to keep your work confidential.
No cheating in any form will be tolerated. Penalties for academic dishonesty mayinclude:

  • a zerograde on the assignment or exam/quiz
  • a failing grade for the course
  • suspension from the Computer Science program
  • dismissal from the Computer Science program.

All instances of cheating will be documented inwriting with a copy placed in the Department's files. Students will be expectedto discuss the academic misconduct with the faculty members and the chairperson.

Top ...

ADA Accommodation Notice

ADA Accommodation Notice
If you have a documented disability as described by the Rehabilitation Actof 1973 (P.L. 933-112 Section 504) and Americans with Disabilities Act (ADA) andwould like to request academic and/or physical accommodations please the Officeof Disability Services in the Shuster Student Center (room 221), 706-507-8755 as soon as possible. Course requirementswill not be waived but reasonable accommodations may be provided as appropriate.

Top ...