An open API service indexing awesome lists of open source software.

https://github.com/newking9088/cop3035-cgs5935-introduction-to-programming-using-python

COURSE DESCRIPTION: This is an introductory course in Python using the Textbook by Tony Gaddis.
https://github.com/newking9088/cop3035-cgs5935-introduction-to-programming-using-python

Last synced: 3 months ago
JSON representation

COURSE DESCRIPTION: This is an introductory course in Python using the Textbook by Tony Gaddis.

Awesome Lists containing this project

README

        

#COP3035-CGS5935-Introduction-to-Programming-Using-Python

COURSE DESCRIPTION: This is an introductory course in Python using the Textbook by Tony Gaddis.
COP 3035
Course Syllabus
Fall Term 2019
Course Instructor : Ann Ford Tyson
Office Location: 101 B MCH
Email Address: [email protected]

CREDIT HOURS AND OTHER POLICY INFORMATION:
This undergraduate course is taken for 3 credit hours.  Undergraduate computer science majors may not use this course to fulfill the core program requirements for the undergraduate computer science department degree programs, however it can be taken as a "free elective."  It can also be used to fulfill requirements for a CS minor program.  Graduate students wishing to take this course under a graduate number need to contact their graduate advisor for information.

COURSE FOCUS AND OBJECTIVES:
This course is intended primarily for non-majors in computer science or related areas and focuses on the fundamental concepts of computer programming using the Python programming language. By the end of the semester, a student who has completed this course with a passing grade should be able to:
• Demonstrate a basic understanding of fundamental computer science concepts, including software and hardware
• Design, implement, test and debug a Python program to solve a given problem
• Demonstrate knowledge and use of control structures including sequence, selection, iteration and functions
• Make use of many of the data types and data structures in Python
• Utilize fundamental algorithms studied to perform basic tasks in programming Consider, compare and evaluate code segments or algorithms for relative efficiency in a basic fashion
• Time permitting, demonstrate the use of fundamental concepts of recursion, GUI programming, and more advanced data structures

REQUIRED TEXTBOOK:
Title: Starting Out with Python, Edition: 4th, Author: Tony Gaddis, Status: Required, Publisher: Pearson, Copyright: 2018, ISBN 13: 978-0-13-444432-1
Be sure to check the full ISBN number of any book you buy. That is the only way to ensure that you obtain the correct required textbook.
Note that for additional information about Python, you can also look at https://www.python.org/

OVERVIEW:

In this course you will learn to write programs in the Python programming language using good style, structure and design. No prior programming knowledge is assumed, however this is not a course in how to use computer software such as word processors and web browsers. This course is concerned with how to design and create computer software. Six programming projects will be assigned during the term, some of which will require a large time commitment on your part. Some students find the work load in this course to be heavy, especially during the last half of the course. Assignments will begin with simple problems, and the difficulty level and length will increase as the term progresses. The first project will not require you to write a program yourself, but will consist of a simple exercise which will familiarize you with our computer systems and the Python software we will use. We will utilize only Python Version 3 in this course.

TOPIC OVERVIEW :

We will start discussing programming fundamentals and the Python language almost immediately. Some time will be spent addressing basic computer concepts and the use of the required software, but for the most part these topics will be covered in the early assigned readings and in your recitation section. The following topics will be covered, in this approximate order:
• Introduction to computers (hardware and software) and programming
• Computing facilities we use: FSU computing sites, required software to program with Python for this course
• Input, processing and output
• Decision structures and Boolean logic
• Repetition structures
• Functions and modularity
• Files and exceptions
• Working with data structures: lists, tuples, strings, dictionaries, sets
• Classes and object-oriented programming; inheritance
• As time permits: recursion, GUI programming
• Throughout the course we will discuss good programming style, design, testing, documentation, and efficiency

PROGRAM ASSIGNMENTS :

A sincere word of advice: we have found through years of teaching that the most common reason for not doing well on the projects is not starting them early enough. You will be given plenty of time to complete each project. However, if you wait until the last minute or the last weekend before the due date to start, you may not be able to finish. Plan to do some work on the project every day, and follow a step-by-step approach with attention to good time management. Also try to have it finished a few days ahead of the due date; many unexpected problems arise during programming, especially in the debugging phase. In addition, the computing sites can become very crowded and make it difficult to get a computer to use. Canvas can become overloaded when projects are due and it can then be a very slow process to submit your work. PLAN for these things to happen and allow ample time to meet course due deadlines.  Meeting course deadlines and submitting assignments successfully and correctly to Canvas is each student’s responsibility.
There are many sources of help for you while programming for this course. First, recitation sections and office hours are provided. You may send questions to the teaching staff via email, though keep in mind that many types of questions cannot be answered without seeing your work, and some questions may be too complicated for email. Also keep in mind that if everyone puts off working on their programs until the last minute, we will likely not be able to help everyone adequately in office hours; the teaching staff typically can't handle all students in the course coming in all at once in the day or two before a program is due, with respect to normal work constraints.
Some computing sites may have staff consultants who are available to help you at the site. They are good sources of help with email problems, using the computers etc. However they are not there to help you with your program design or with writing your program.
Whenever you want help with your program in office hours, you must be able to quickly access your program file via university file space or a USB flash drive. Bringing a current print-out of the program, your input, and the printed output results of a run is often very useful.

COURSE LECTURE TOPIC SEQUENCE and ASSIGNED READINGS :

This following table lists course lecture topics and corresponding assigned readings. This information is tentative, may be updated and is subject to change as the semester progresses. Order of topic coverage is subject to modification.  Check course materials and announcements for updates.
Abbreviations Used
GA refers to course textbook Starting Out with Python by Tony Gaddis
H refers to Course Handout
Course Lecture Topics
####################################################################################
Assigned Readings
Course Overview
H Course Syllabus
Introduction to Computers and Programming
GA Chapter 1
Input, Processing and Output
GA Chapter 2
H Python Precedence Table
Decision Structures and Boolean Logic
GA Chapter 3
H Programming Style for Python Programs
H PEP 8 Python Style Guide
Repetition Structures
GA Chapter 4
Functions
GA Chapter 5
Files and Exceptions
GA Chapter 6
Lists and Tuples
GA Chapter 7
More About Strings
GA Chapter 8
Dictionaries and Sets
GA Chapter 9
Classes and Object-Oriented Programming
GA Chapter 10
Inheritance
GA Chapter 11
Additional Topic as Time Permits: Recursion
GA Chapter 12
Additional Topic as Time Permits: GUI Programming
GA Chapter 13
Additional Topic as Time Permits
To be announced if needed
 

PROGRMMING ASSIGNMENT DUE DATES and EXAM DATES:

Assignment or Exam
Date Due
Programming Assignment 1
Tuesday 9/10
Programming Assignment 2
Tuesday 9/24
Programming Assignment 3
Tuesday 10/8
Exam 1
Wednesday 10/23 during lecture period
Programming Assignment 4
Tuesday 11/5
Programming Assignment 5
Tuesday 11/19
Programming Assignment 6
Thursday 12/5
Exam 2 (Final)
Fri 12/13 10:00 am – 12:00 noon