Course Syllabus

Computer Technology CIS 106

Introduction to Computers and Computer Programming

Fall 2016

Section: 002, CRN: 42052   

 

This page contains the syllabus for Computer Information Systems 106 – Introduction to Computer Programming as offered in the Summer II 2016 Semester.  It is published by the instructor as a communication with students.  Official College information, including course listings, schedules, etc., can be found on the Web at  http://www.ccp.edu.

For information on Computer Science and Computer Information Systems, degree programs and courses at the College, see the Computer Technologies Department Web Page at http://faculty.ccp.edu/dept/cis.

Course Description

Computer Information Systems 106 – Introduction to Computer Programming

4 credits (2 hours lecture, 2 hours lab per week)

CIS 106 is an Introduction to Computer Programming, Object-Oriented Programming and Algorithm Development using the Python programming language. Emphasis is placed on object-oriented design, top-down development, modular programming, debugging and documentation.

Prerequisite: English 101 placement; Math 118 Placement

 

 

Textbook for the Course

The Official Textbook for this course is

Starting Out with Python, 3rd Edition

Tony Gaddis, Haywood Community College

ISBN13: 9780133582734

Publisher: Pearson

Bookstore Price: 136.70

Publishers Price: $127.60

Internet Price: $100.00

 

 

 

 

 

 

 

 

 

Recommended Readings and Textbooks:

 

Students that cannot afford the textbook for the course may rely on reading the recommended free resources that I have listed.  Utilizing these resources instead of the textbook may involve additional time preparing for the assignments 

 

 

I have provided a list of additional free resources in Canvas and in the Recourses section of this Syllabus.  Below is a sample of those resources:

 

 A Non-Programmer's Tutorial for Python 2.6 cab accessed at this website:

https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_2.6

A Beginner's Python Tutorial course is freely available on the Web at:
https://en.wikibooks.org/wiki/A_Beginner%27s_Python_Tutorial

 

A more Comprehensive Python Programming Tutorials Website is at
https://en.wikibooks.org/wiki/Python_Programming

 

HTML(5) Tutorial

http://www.w3schools.com/html/default.asp

 

JavaScript Tutorial

http://www.w3schools.com/js/default.asp

 

A Free Digital Book on JavaScript

https://en.wikibooks.org/wiki/JavaScript


Instructor

Craig Nelson

Room C3-1 F
Center for Business and Industry
18th and Callowhill Streets

Phone:     (215) 972-6228

E-Mail:   cnelson@ccp.edu

Office Hours:  Are by Appointment During Summer

Mondays                        
Tuesdays          
Wednesdays         
9:00 am. – 3:00 pm        
Thursdays    
Fridays             

Class Meetings: 

Each week a reading assignments, a quizzes, programming assignments and discussions must be completed. Students are expected to participate in these activities weekly

You can contact me any time you have questions about the course.  I am currently the temporary Coordinator for Computer Science, so I can also help you with questions about courses, registration, graduation requirements and transfer to four-year schools in Computer Science Programs.  The best way to reach me is by email.  I am rarely physically in my office to answer the phone.  Typically, during an academic semester, I will respond to emails within 24 hours.  If I do not respond within 24 hours, I may have overlooked the message, please resend the message.   

Topics, Schedule and Links to Class Notes

The class meets Tuesday and Thursday 1:00 pm – 3:25 pm in room C3-20 at the Center for Business & Industry (CBI) from during the fall 2016 semester September 6, 2016 – December 17, 2016.  This is a 14 week section of CIS 106 

Details of the course schedule, such as notes on upcoming classes, will be posted in Canvas as the course progresses.  Some content may get more emphasis then others and some material may move to different weeks depending on the needs of the class.  At times I may augment topics, assignments and schedules as needed.  This is a Face to Face Computer Technology course. The course uses the Canvas Learning Management System (LMS). The class meets both online in Canvas and face to face.  It is your responsibility to review your CCP Email, Canvas modules, and Canvas Announcements regularly for class announcements and updates.

 

For the official College Academic Calendar, see http://www.ccp.edu/site/academic/academic_calendar.php

 

 

 

Course Learning Outcomes

 

Programming Constructs

Demonstrate an understanding of fundamental programming constructs and use them to design and develop software. Describe the elements of logical structure used in computer programming, including linear sequences, branching, and looping

Algorithms, Problem Solving and Boolean Logic

Describe the essential properties of algorithms and develop algorithms for the solution of specific problems in computing. Describe the importance and use of Boolean logic in computer programming.

Object-Oriented Programming

Describe the fundamental concepts of object-oriented programming and design and develop object-oriented software.

Software Design

Describe the properties of good software design and design and evaluate software based on them. Describe a software development cycle used in computer programming.

Data Types and Declarations

Demonstrate an understanding of data types and the ability to establish data of various types in computer programming.  Design, create and maintain computer programs using a modern object-oriented programming language which include:

  1. Simple input and output,

  2. Data checking,

  3. Formatting reports,

  4. Simple mathematical processing, such as counting, summing and finding dataset minima and maxima.

 

 

 

 

 

 

 

SOFTWARE FOR THE COURSE

 

We will be using the Python Programming Language in the course. See the hyperlink below to directly access the download webpage for Python.  We will examine both versions of Python, the 2.x series, and the 3.x series.  If you plan on working from home, download and install both series of the software on your home computers.  The classroom and the Student Academic Computer Center (SACC) Lab will have the Python software installed.

 We will also review Android App Development using MIT’s App Inventor Service

Finally, you will briefly study how to create a basic web application using JavaScript.  

 

  All programming project assignments must be submitted as a text file created with a Text Editor, not a Word Processor. For Python programs you can use the built in IDLE Integrated Development Environment IDE as a Text Editor.

 

 

Python Download Link

Link to Download Python 2.x or 3.x

 

Notepad ++

Link to Download Notepad ++

The latest version will due

 

 

The course will require that you create several technical documents with your applications. Students should use a professional document editing environment for this.   A word processor such as Microsoft Word will be sufficient.  Students may optionally choose the free open source professional document editing environment of Libre Office using the Libre Office link below.  Additionally, you may use a word processor such as Google Docs or Microsoft 365

 

Libre Office – A Productivity Suite for free

At this site you may download Office.

https://www.libreoffice.org/download/libreoffice-fresh/

 

 

 

 

Microsoft Office 2016 and Office356 Student Specials – A Productivity Suite for a free

At this site you may purchase or rent the use of Microsoft Office.

 https://products.office.com/en-us/student?ms.officeurl=getoffice365

 

 

Students in this class will be provided a semester registration to Dreams Spark

 

MICROSOFT VISIO 2016

During the course, students will be exposed to concepts and skill sets in Process Flow Chart Modeling and UML Modeling. Ultimately your process and flow models may be submitted hand written and scanned to PDF format.  However, it is strongly encouraged to put the extra effort in to model your assignments using a modeling tool.  The modeling tool of choice for this class will be Microsoft Visio; you may also use Microsoft Word or Libre Office’s drawing tools, as the modeling assignments will not be very sophisticated.  We will practice Flow Charts and Class Diagrams in class using Microsoft Visio. Students with Apple computers will not be able to directly use Microsoft Visio. Below is a link to an Internet Web Service that has tools for Flow Chart Modeling and Class Diagram Modeling.  Both Windows and Mac Users can use this service

 

https://www.genmymodel.com/

 

Use your Dream Spark Account to acquire this software if intend to use this version

 

Students will also be registered into Microsoft’s premiers Dream Spark Program, this will provide students free access to download a variety of Microsoft software.

 

 

 

 

 

 

 

Schedule

Class will meets Tuesday, and Thursday from 1:00 pm until 3:25 pm in room C3-20

 

Week 1

Mon, September 5 – Sunday, September 11

Introduction to the course and Python

Introduction to Computers and Programming

Week 2

Mon, September 12 – Sun, September 18

Introduction and Overview of  the Input, Processing, and Output (IPO) Framework

Week 3

Mon, September 20 – Sun, September 25

Decision Structure. Decision Sequences and Boolean Logic: IF and IF ELSE statements

Week 4

Mon, September 26 – Sun, October 22

Repetition Structures and Repetition Sequences: Programming Loops

Week 5

Mon, October 3 – Sun, October 9

Modular Development - Functions in Python

Week 6

Mon, October 10 – Sun, October 16

Text File Processing in Python and an Introduction to Exception Handling in Python

Week 7

Mon, October 17 – Sun, October 23

List Processing in Python

Week 8

Mon, October 24 – Sun, October 30

String Processing in Python

Week 9

Mon, October 31 – Sun, November 6

Directory Processing in Python

Week 10

Mon, November 7 – Sun, November 13

Set Processing in Python

Week 11

Mon, November 14 – Sun, November 20

Object-Oriented Design (OOD) and an Introduction to Object Oriented Programming and Collections in Python

Week 12

 Mon, November 21 – Sun, November 27

Thanksgiving Holiday Break

Thursday November 24 – Sunday November 27

Graphical User Interface Development (GUI) in Python 

Week 13

Mon, November 28 – Sun, December 4

 Introduction to JavaScript

·         HTML Overview

·         JavaScript Overview

Week 14

Mon, December 5 Sat, December 10

Introduction to MIT’s App Inventor

·         Building apps by selecting components and specifying their behavior

·         Adding media (sounds and images) to apps by uploading them from your computer.

·         Testing apps with App Inventor’s live testing. This lets you see how apps will look and behave on the device, step by step, even as you’re building them.

 

Week 15

Mon, December 12 – Sat, December 17

Finals

 

More details about each week will be posted during the semester on the course website in Canvas. There is a chapter in our textbook or supplement reading material and examples for each week of class. We will also have a regular class discussion on topics in computer technology in Canvas

 

Exams, Assignments and Grading

 

Grading

During the semester, you will have several different types of graded activities:

  • Module Exams / Quizzes

  • Participation in Module Discussions (15 points each)

  • Course assignments, most assignments will be programming projects. This will also include general non programming Computer Technology Assignments.

 

Final grades will determined based on the percentage of the total points each student has earned during the semester.  This will be calculated by dividing the total points earned by the total possible points that you could have earned during the semester:  The Canvas LMS may not accurately display your up to date class percentile.  As a backup, you should keep a running total of the points that you earned and the total possible points you could have earned each week during the semester.  This will provide you with the most accurate view of your grade during any week.  Below is a chart of percentages as they relate to a letter grade.

A - 90 to 100 % | B - 80 to 89 % | C - 70 to 79 % | D - 60 to 69 % | F - less than 60 %

 

Programming Assignments:  Programming assignments must be submitted as text file created with a text editor, not a word processor.  The Python file has a dot py extension for Python Text Files.  You must send in a Lab Report with most programming assignments.  This requirement will be identified in the programming assignment description.   To verify that you have included all of the document correctly, it is recommended that you download the documents that you submitted into a separate folder for varication.  Students using Apple Operating Systems should be particularly mindful to the difference in process of them and the Windows Operating System.  The Apple File Systems are a little tricky for Windows users sometimes.   Canvas will permit you to resubmit assignments if needed.  You may continually resubmit an assignment up until the lockout due date and time.  Programming Assignments are due by the due date, NO LATE/MAKEUP ASSIGNMENTS. Any assignments not submitted by the deadline will receive a grade of 0 for that assignment.

  I do not accept programming project assignments by email. All assignments must be submitted through the Canvas LMS.   If for some reason, you did not submit your programming project before the assignment lockout date and time, you must make a request with the instructor of this course to reopen the assignment’s submission drop box in Canvas. If the request is approved, a window of time will be provided for the assignment submission in Canvas.  This is very important.  Once an assignment’s grades have been released in Canvas, that assignment will no longer be accepted.  

Lab Reports:  Starting with the programming assignment topic in Chapter 2 of the textbook, all subsequent/ remaining programming assignments must have an associated Lab Report Submitted with it.  Starting with the programming assignment in Chapter 2, points will be deducted from programming assignments that do not have a professional looking lab report submitted with it.  Lab Reports must be created using a Word Processor such as Microsoft Word or Libre-Office.  I have included a template of a lab report for you in Canvas.  I will review the expected components of a lab report with you during class. You can use the template for your Lab Reports

 

Discussion Assignments: Many modules in Canvas will contain discussion assignments.  This involves reading the discussion topic and posting a personal reply to the topic.  In order receive full credit for a discussion assignment.  You must first post your own personal reply, then you must reply to at least two other student’s personal replies. That is a total of three posts per discussion topic.  Points will be deducted if there are not 3 replies to a discussion by a student.  Discussion Assignments are due by the due date NO LATE/MAKEUP ASSIGNMENTS. Any assignments not submitted by the deadline will receive a grade of 0 for that assignment.

 

Quizzes: Several of the modules will contain an end of chapter quiz.  This quiz will directly relate to the topics and concepts covered in the reading material for the module.  The typical quiz is composed of 20 true / false and multiple choice questions.  There will be a time limit set for completing the quiz. Optionally, there may be an opportunity at multiple attempts. Check the quiz for these settings and configurations. 

 

If you have questions about specific grades or your overall progress at any time during the semester, then please consult with me. I will be glad to review individual items and your overall grade at any time.

 

ATTENDANCE:

  • If you do not come to class at the scheduled time, you are absent. If you miss a class, please log into Canvas for assignment details.

  • Failure to keep up with your assignments (no/lack of class participation) is also considered as being absent; therefore, if you do not submit your assignments, you will be marked absent for that week.

  • The school's policy is to drop students from class if they have 4 I will adhere to the school's policy within the 1st 7 weeks. After the 7th week, if you do not keep up with attendance and/or assignments, you most likely will fail this course. Any student who stops attending class and does not officially withdraw from the course will receive an F grade. It is your responsibility to withdraw from the course if you stop attending class

  • This course will require several hours of study/lab time every week. Proper time management is the key to success in this course.

 

 

 

 

 

Canvas and Computer Resources

Success in the class depends on your ability to use Canvas.  If you have problems using Canvas, then please contact Vaishali Sharma, at vsharma@ccp.edu.  For more information about Canvas, or Distance Education, please see the Distance Education Website at:

http://www.ccp.edu/site/de/

The classroom-based version of this course during a 14 week semester meets for five hours per week.  You should allow several hours per week outside of class for study and several hours per week outside of class for your programing lab work. I will attempt to provide lab time in class to start working on most assignments.   Online students should allocate an additional five hours a week to study and work on the practice assignments in each chapter.  This works to compensates missing material that is covered in face to face sections of the course

  In a 14 week section of the course that is a classroom-based version of this course, the class meets for five hours per week.  In this type of section of the course, you should allow several hours per week for study and several hours per week for your programing lab work.  Students in online sections of the course should allocate the five hours that that you would normally meet face to face to do the practice exercises in the chapters in addition to the several hours for programming assignments and studying. . Students in 7 week sections of the course should double this.  Seven weeks courses combines the material and assignments for 14 weeks into seven.

 

Student Academic Computing Centers (SACC)

The College has a number of open lab facilities for students who wish to do their work on-campus.  For more information see the posted schedules of the SACC Computer Labs in MyCCP;

 

Main Campus (CBI Building SACC) 18th and Callowhill Street

 

Northwest Regional Center

12901 Townsend Rd

Northwest Regional Center

1300 W Godfrey Ave.

West Regional Center

4725 Chestnut St.

 

Students are expected to utilize College computer resources as part of this class, including Websites, networks, and the possible use of physical facilities. You are expected to become familiar with the policies and accepted behavior for these resources. Any violations of their rules that results in a student being removed from or banned from using a College facility are grounds for dismissal from the course -- such as attempting to remove, copy, or install software on the College's systems.

 

Learning Lab Support

The Learning Lab will provide tutorial support for students requiring one on one tutorial support for this class.  They may even be able to provide one on one tutorial support online using video conferencing. For more information on tutorial support for CIS courses contact:

Mavis Pogue.  B2-36d             215-751-8474              mpogue@CCP.EDU

 

Counseling

The College has excellent counseling services available. If you are having any personal problems that might interfere with your progress in class or toward a degree, including difficulties related to military service, please visit or contact our counseling center in room BG-07 on the Main campus or at any of our Regional Centers. More information, including contact information is online at:

http://www.ccp.edu/site/current/support-services/counseling.php

 

College Policies

The Computer Technologies Department adheres to all College policies. These can be found in your Student Handbook or at the following hyperlink:
http://www.ccp.edu/site/policy.php

 

 

 

Notes from the Instructor – Keys to Successful Learning

Education is a Social Process

Architects use the metaphor of the campfire and the cave to describe spaces they are designing.  A campfire is a place where people come together to be with one another to work, play, etc.  A cave is a place where a person can rest, read, etc. alone quietly.  Architects design business spaces to have both campfires and caves – places where they can conduct business and commerce with other people and places where people can work alone quietly when necessary. 

Successful students need to spend time both at the campfire and in the cave.  They need to engage with teachers and other students in classrooms labs, online forums, and so on, but they also need to have a time and place to work alone, reading studying, and developing a personal understanding of the course material.

In other words, education, like life itself, is both a social process and a personal psychological process.

We learn from other people and with other people.  You should take the opportunity to communicate with and work with other students and your teacher.  You can learn from them and they can learn from you. The course will be easier and you will learn more if you become part of the social fabric of the course.

Yet, ultimately we learn best by developing a personal understanding of the course material. We each need to spend time studying away from others to develop a personal, inner understanding of the course material beyond what can be learned communally.

This course moves along quickly. There will be reading and written homework assignments each week, So, you will need to quickly establish a pattern for how you will participate in the class each week and when you will find time to do your course work, alone, and working with others.

Learning Demands Participation

Woody Allen once said “The hardest part of making a movie is to get the actors to show up on time. The rest is a piece of cake.”  The same thing is true for learning – students who show up for class and do their work each week will do well.  

A great deal of educational research has shown that the single biggest factor in determining final grades is class attendance. No other factor, not I.Q., SAT scores, family wealth, ethnic origins, nor any other factor correlates as closely with final grades as classroom attendance.  If you show up for class and do the required work each week you will do well, if not, you won’t do well.  This is true, in part, because colleges and universities have a complex system of placement and prerequisites to make sure you are in a course that you are able to handle.  You must show up for class and do the required work each week to do well in the course.   

This is especially true in a weekly-oriented distance education course.  Your grade is directly related to how much you participate in the course.

 

Additional Resources on the Web

A Non-Programmer's Tutorial for Python 2.6 cab accessed at this website:

https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_2.6

 

A Beginner's Python Tutorial course is freely available on the Web at:
https://en.wikibooks.org/wiki/A_Beginner%27s_Python_Tutorial

 

A more Comprehensive Python Programming Tutorials Website is at
https://en.wikibooks.org/wiki/Python_Programming

 

HTML(5) Tutorial

http://www.w3schools.com/html/default.asp

 

JavaScript Tutorial

http://www.w3schools.com/js/default.asp

 

A Free Digital Book on JavaScript

https://en.wikibooks.org/wiki/JavaScript

Webopedia – an online dictionary (and search engine) for Computer Terminology
www.webopedia.com

 

Financial Aid:

Please see the College catalog regarding impact to Financial Aid if you drop this course.

 

 

Messages:

It is best to reach me via e-mail (cnelson@ccp.edu). Please include your name, and course number in the subject line of your emails.

You do not have to tell me about a single absence (See Attendance).

If you do not get a response from me within 24 hours, please send your e-mail again.

 

Classroom Conduct:

You should be punctual, alert, and prepared for each class session. You must be considerate of other students, which includes being quiet during class lecture and discussion except when you have something to contribute to the class. Cell phones and beepers will be turned off or on vibrate mode for the entire class.  If necessary, you will take calls outside the classroom.  Food, beverages and their containers are not permitted in the classroom. Homework and/or lab should not be done during lecture.

 

ACADEMIC INTEGRITY POLICY & PROCESS:

See the uploaded document detailing Community College’s Academic Integrity Policy & Process. In summary,   students must do their own work when the assignment specifies that it is an individual assignment. Assignments that are collaborative will be designated as being so. Plagiarism will not be tolerated. Any assignment presented by a student in fulfillment of course requirements must reflect his/her own work unless credit is properly given to others.  Anyone who assists another in such academic dishonesty is equally responsible. The grade on the assignment will be an “F” for all parties involved, if an academic integrity violation is discovered.

 

 

 

 

 

ACADEMIC DISHONESTY

Violations of academic integrity can include, but are not limited to, cheating and plagiarism. Cheating is an intentional effort at deception or gaining of an unfair advantage in completing academic work. Plagiarism is the act of appropriating the work of another person and passing it off as one’s own. Any student who assists another in an activity that constitutes a violation of academic integrity is also responsible and accountable for such a violation.  See the “See the “ACADEMIC INTEGRITY POLICY & PROCESS” document in the file section of Canvas.

 

 

AS FOR THIS COURSE

  • Strike 1 _ you and the parties’ involved will be given a ZERO (0) for the assignment NO MAKE UP.

  • Strike 2 _ you and the parties’ involved will drop one final letter grade. This simply means that if you are carrying a B average in the course, your final grade will be a C. This will be the grade that you are “entitled” to as a result of your actions.

  • Strike 3 _ you and the parties’ involved will fail the course.

 

Disability Accommodations Policy:

Students who are registered with the Center on Disability must inform the instructor by the end of the first week of classes if special accommodations are requested.  Proper documentation must be presented.

 

 

STARFISH CONNECT 

Starfish Connect is a communication tool for students and faculty. Through Starfish instructors can provide feedback to you about course progress. Throughout the term, you may receive progress emails regarding your academic performance. The emails are designed to be helpful and increase your success in courses. Be sure to open any emails you receive and follow the recommendations. Instructors may also recommend that you contact a specific campus resource, such as the Learning Lab or Counseling Center.  If an instructor makes a referral, you may also be contacted directly by this campus service as a follow-up. To access Starfish Connect, simply log into Canvas and click on the link, Starfish Connect. You can even set up a student profile. If you need assistance with Starfish Connect, you can email questions to starfishconnect@ccp.edu

 

For more information on the degree programs & certificates offered by the Computer Technologies Department, visit the following links provided:

 

 

 

 

Course Summary:

Date Details Due