Uploaded by siamarman17

CIS

advertisement
CIS 2300: Programming and Computational Thinking
Paul H. Chook Department of Information Systems and Statistics
Course Syllabus – Fall 2023
Instructor: Stanley Wine
E-Mail: stanley.wine@baruch.cuny.edu
Office phone: (646) 312-3413
Contact me by email, not phone
Office Hours: by appointment
Section: CMWA Code: 17238
Mode: In person
Course coordinator: Professor Radhika Jain, radhika.jain@baruch.cuny.edu
Class website: www.cuny.edu
Office: VC 12-210C
Baruch College, Vertical
Campus, 55 Lexington
Avenue, cube 12-210C
(look for door marked ZSB
Faculty Offices 12-210).
Class room/time: VC 4120, Mon. and Wed 10:45 –
12:00
Course Description:
Computational thinking is a fundamental skill for all students irrespective of the business discipline. This course
will cover fundamental principles and concepts required for problem-formulation and problem-solving, and not
just programming. The goal of this course is to equip students with the basic ability to use computational
principles such as iteration, abstraction, recursion, and functional decomposition. This course will introduce
students to basic programming constructs such as control statements and data structures to facilitate learning of
these computational principles. This is an introductory course intended for students with little or no
programming background.
Note: Students cannot get credit for both CIS 2300 and MTH 3300. CIS majors will be required to take an
additional CIS course if receiving credit for MTH 3300 to satisfy the 24-credit requirement for the CIS major.
3 hours; 3 credits
Pre-requisites: None
Course Learning Goals:
Upon successful completion of this course, students will be able to:




Demonstrate the understanding of and utilize a computational approach to solving problems.
Decompose bigger problems in smaller chunks and put them back together to solve bigger problems.
Develop comprehensive programs that can achieve some useful objective.
Write code to effectively solve problems and achieve objective goals.
BBA Learning Goals:
1. Analytical Skills: Students will possess the analytical and critical thinking skills to evaluate issues faced in business
and professional careers.
2. Technological Skills: Students will possess the necessary technological skills to analyze problems, develop solutions
and convey information.
3. Written Communication Skills: Students will have the necessary written communication skills to convey ideas and
information effectively and persuasively.
Required Course Materials
1. Textbook: Starting Out with Python by Tony Gaddis, 5th edition, 2021, ISBN 9780135929032. Baruch college
bookstore link: https://baruch.textbookx.com/institutional/index.php?action=browse#books/3808089/ Do not
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 1
purchase the accompanying MyProgrammingLab; we will use CodeLab, which is free to CUNY students. You
may use the 4th edition of the text, but you are responsible for any 5th edition content referenced in the course.
2. Codelab (instructions below): https://codelab.turingscraft.com/login
3. Laptop with Anaconda and IDLE installed (see Week 1 of schedule for installation instructions) and to be
brought to each class meeting.
4. Access to CUNY email and Blackboard accounts.
Instructions for Setting up CodeLab Account
The process for students to access CodeLab (free for CUNY students.) is:
Register  Log In  Enroll
Registration:
1. Go to www.tcgo1.com OR www.tcgo2.com
2. UNDER STUDENTS: click “Register for CodeLab”
3. Follow the directions and the process, which involves verifying that you’re not a “bot” and that your email
address is valid and working.
4. After registering, close all windows, exit the browser, re-open the browser and log in to CodeLab. See below.
5. Click the “add-a-course” button in the “Courses” area. When prompted, enter the Section Access Code for your
section: CUNY-31046-BLJY-58
Login:
1. Go to www.tcgo1.com OR www.tcgo2.com
2. UNDER STUDENTS: click “LOGIN” the username is the email address given during registration and the
password is the password selected during registration
Enrollment:
1. Login
Click the “add-a-course” button in the “Courses” area. When prompted, enter the Section Access Code for your
section.
Course Methodology and Evaluation
The course is structured around a combination of class lectures, hand-on programming exercises, and individual
and group assignments. Students are expected to attend lectures, read the assigned readings in advance, submit
the assignments on time, and actively participate in the class. You will be called upon and asked to participate.
Reading the material before you arrive in class is a MUST to do well in this course; weekly quizzes seek to
ensure that the reading is done in advance.
The only way to learn Python is through practice, practice, practice. In addition to the quizzes, CodeLab
exercises require students to write “snippets” (small amounts) of code and are automatically graded; the student
has multiple opportunities to correct the code before the CodeLab deadline. I will manually compute the
Codelab scores based on whether CodeLab eventually marked an answer as correct, and will transfer that score
to Blackboard.
In most weeks, there will be a substantial programming assignment, which will be worked in a Jupyter
notebook; the notebook will be submitted as a Blackboard attachment.
There are also midterm and final exams.
Overall class grades will be based on the following weights:
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 2
Deliverable
Weekly assignments
Weekly quizzes
CodeLab
Midterm exam
Final exam
Project
Weight
25%
10%
5%
20%
20%
20%
CodeLabs:
CodeLabs are to be completed for most chapters. The labs are due soon after a chapter is introduced (due dates
will be posted); late submissions are not accepted.
Homework:
You are to complete the Checkpoint questions at the of each section and the Review Questions at the end of
each chapter. Your answers should be in your own words; verbatim copying of material from the text, web or
other sources will not improve your understanding or retention. The homework should be completed for the
next class meeting after we complete a chapter. The homework is intended to verify and strengthen your
understanding of concepts and terminology and to prepare you for exams; it will not be collected.
Quizzes/Assignments
Throughout the semester, students will be expected to complete weekly assignments to help practice the
concepts. Some assignments may require individual work while others may require group work. Instructions for
the assignments will be made available through Blackboard as the course progresses.
Only Python features and syntax which has been taught in the course may be employed on any quiz, assignment
or exam.
Late submissions will not be accepted for weekly assignments or quizzes.
In-class Quizzes/Surveys
There will be ad-hoc in-class exercises, quizzes and/or surveys. If you miss a class, arrive late, or leave early
and miss an in-class quiz/survey as a result, NO makeup will be given. The purpose of the quizzes is to ensure
that students complete the required reading before a topic is covered in class.
Final Project
There will be a final group project based on the material covered in the class. Students will be expected to work in teams
of 3-4 students each. Students will be expected to identify a real world dataset and perform various analysis tasks. More
detailed instructions will be available in the final project document available on the course website.
Exams
Exams will require hands-on work and will consist of problem-solving questions. All exams will cover material
from all aspects of the class sessions (lectures, videos, in-class work, and so forth). There will be one midterm
and one final examination. Exams are not expressly cumulative, but you will not be able to solve the problems
on the final if you are not familiar with the midterm material, as all material builds on prior learning.
Only Python syntax which has been taught in the course may be used on any quiz, assignment or exam.
The last section in each chapter in our text, with the exception of the first chapter, covers Turtle Graphics; we
will not be covering this material.
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 3
Attendance and Participation
Students are expected to attend all classes, read the assigned readings before the lectures, and participate
actively in class sessions. Attendance and participation are important elements of the class. Ad hoc in-class
exercises such in-class assignments, quizzes, and class discussions will affect your grade. Attendance and
participation are important elements of the class and they do make a difference in the final grade. If you miss
any class, it is your responsibility to find out whatever you miss.
Course Letter Grade
Letter grades are calculated according to the Official Grading System of Baruch College. The instructor
reserves the right to curve the scale when computing final grades, if deemed necessary.
From (%)
To (%)
Letter Grade
0.0
59.9
F
60.0
67.0
D
67.1
69.9
D+
70.0
72.9
C73.0
77.0
C
77.1
79.9
C+
80.0
82.9
B83.0
87.0
B
87.1
89.9
B+
90.0
92.9
A93.0
100.0
A
General Course Policies
Exams






In case of extraordinary circumstances, students who cannot attend an exam must contact the instructor in
advance and provide a written justification/documentation for their absence.
The final exam must be taken in the time slot posted in the college bulletin.
The exams will include materials from both the readings and from the topics covered in the lectures. Some of the
lecture material may not be found in the book. Therefore, it is very important to attend class regularly and keep up
with the pace of the reading assignments.
Behavior during exams is expected to conform to Baruch College guidelines. Any form of cheating or
communications with other students or any other incident of improper behavior will be dealt according to the
guidelines established by the College.
Students will have an opportunity to check their graded exams but the instructor will retain all exams.
There are numerous opportunities in the form of CodeLabs, quizzes, assignments and exams for students to
demonstrate their proficiency in the course content; there will be no “extra-credit” assignments.
Class Attendance


To avoid disruption, you should arrive to the classroom on time and leave at the end of the class.
Laptops, cell phones, pagers and other electronic devices should be turned off during class and during exams,
unless otherwise instructed.
Website and Email
Chapter materials such as slides, assignments, study guides, handouts, a list of errors in the text and other
materials can be found on the website. I post frequent announcements on Blackboard, as well. You should
check our Blackboard site and your email on a daily basis; I will use it to notify you of any advisories related to
the course; “I didn’t know” is not an acceptable excuse.
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 4
The Blackboard site has a “Q & A” Discussion Board thread for each week of class. Use this to post questions
about the material or assignments; hopefully, your classmates will be able to post answers!
Announcements of Class Cancelations
Some students posing as instructors have made announcements to classmates via email or through signs affixed
to classroom doors. These announcements have indicated that a class in which an exam has been scheduled has
been canceled. If I cancel a class, you will be notified via Baruch email (I will never use Gmail or any other
account that a student could create in my name) and by posting an announcement on the Blackboard site.
Student email
I will only respond to emails from CUNY email addresses; mail from personal email accounts will be ignored.
Please check your email and the BlackBoard site on a daily basis. These tools will be used to notify you of
assignments and of newly posted materials, and for all advisories.
Recording of Classes:
Students who participate in this class with their camera on or use a profile image are agreeing to have their video or image
recorded solely for the purpose of creating a record for students enrolled in the class to refer to, including those enrolled
students who are unable to attend live. If you are unwilling to consent to have your profile or video image recorded, be
sure to keep your camera off and do not use a profile image. Likewise, students who un-mute during class and participate
orally are agreeing to have their voices recorded. If you are not willing to consent to have your voice recorded during
class, you will need to keep your mute button activated and communicate exclusively using the "chat" feature, which
allows students to type questions and comments live.
Work Submission Standards




Assignments are considered on time only if they are submitted by the due date/time as per the submission
guidelines.
Hand-written work will be refused and will earn no credit unless otherwise instructed. As with any other
academic submission, students must do their work carefully, striving to achieve high quality work. This includes
writing clearly, checking the spelling and grammar, proofreading the submissions, and handing in the work on the
specified due date.
Extensions can be granted for situations involving illness, family, or personal emergencies. If you need an
extension, you must request one in writing or via e-mail before the due date of an assignment. Note: extensions
will not be granted for problems relating to use of home or workplace computer systems (please use the BCTC
facilities to avoid such problems), and back up your work. You will never be liable for failures of BCTC systems
or availability of the online learning platform.
For individual assignments, any instance of copying, cheating or plagiarism will be penalized. Students (or
groups) handing in similar work will both receive a 0 in the assignment and will face disciplinary actions. (See
academic integrity statement below)
Additional Notes


Feel free to ask me why you received a certain grade on an assignment or exam. If you received a grade in error, I
will correct it. If not, and you still want to dispute the grade, I will consider re-grading requests but I will re-grade
the entire assignment or exam. This could result in a grade that is the same, higher, or lower.
Let me know about any problems or issues such as missing class, long term illnesses, job related problems,
problems with the groups, etc. as soon as possible and before you have missed a week or two of classes. If you
come to me at the end of the semester about a problem you had earlier in the semester, I will not be able to help.
Students with Disabilities
We have a process at Baruch for determining whether a student who identifies as disabled is eligible for
reasonable accommodations in order to complete the student’s academic program. We strive to ensure that no
student with a disability is discriminated against and that none is denied participation in College programs and
activities for lack of reasonable accommodations. Some people think that a disability has to be visible to be
accommodated. This is not the case. There are many disabilities – diabetes, psychological illness, learning
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 5
disabilities, AIDS, seizure disorders, arthritis, etc., – that require accommodations. Examples of possible
accommodations include additional testing time; adaptive equipment; and taping of classes.
If you feel that you may need a reasonable accommodation based on a disability, please contact the staff at the
Office of Disability Services, Newman Vertical Campus, Room 2-271, or by phone at (646) 312-4590.
Counseling:
At Baruch, we acknowledge that as a student, you are balancing many demands. During the semester, if you
start to experience personal difficulties or stressors that are interfering with your academic performance or day
to day functioning, please consider seeking free and confidential support at the Baruch College Counseling
Center. For more information or to make an appointment, please visit their website at
https://studentaffairs.baruch.cuny.edu/counseling/ or call 646-312-2155. If it's outside of business hours
(Monday-Friday 9-5pm) and you need immediate assistance, please call 1-888-NYC-WELL (888-692-9355). If
you are concerned about one of your classmates, please share that concern by filling out a Campus Intervention
Team form at https://studentaffairs.baruch.cuny.edu/campus-intervention-team.
Academic Support:
Visiting Baruch’s academic support services is correlated with higher grades. Students are encouraged to take
advantage of these services: visit the tutors at SACC, work with the consultants at the Writing Center and Tools
for Clear Speech, and take advantage of office hours! Visit early and often!
Early in the semester, faculty receive a survey that asks us to identify students who might be struggling in class.
Those I name will be prompted by an email or text to visit one of our support services. Please respond to those
invitations to meet with a tutor or consultant! Students who visit these services do better in their classes than
students who don’t.
There’s no need to wait for an alert message to get help—you can start working with tutors from the start of the
semester. Want more information? Try these links:

SACC (Student Academic Consulting Center)
SACC supports the academic success of undergraduates at Baruch College through small group peer
tutoring and other programs, serving students in a wide variety of subjects across the curriculum.
https://sacc.baruch.cuny.edu/

Writing Center
The Writing Center offers free support to all Baruch students. Our professional consultants work
collaboratively with you to deepen your writing and English language skills.
https://blogs.baruch.cuny.edu/writingcenter/

Tools for Clear Speech
TfCS offers a broad range of free tutorial sessions, workshops, and online practice to enhance the oral
communication skills of Baruch’s non-native English-speakers, multilinguals, and English language learners
https://tfcs.baruch.cuny.edu/
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 6
Religious Accommodations
Students requesting a religious accommodation should contact the Office for Student Affairs at the College or
unit in which they are enrolled. The Chief Student Affairs Officer, or a designee, and the student will engage in
an interactive process with the goal of finding an acceptable accommodation.
Consistent with New York State Education Law § 224-a, students who are absent from school because of a
religious belief will be given the equivalent opportunity, without any additional fee charged, to register for
classes or make up any examination, study or work requirements missed because of such absence on any
particular day or days.
For complete details, see: https://www.cuny.edu/about/administration/offices/legal-affairs/policies-resources/
reasonable-accommodations-and-academic-adjustments/vi-religious-accommodations/
Academic Integrity Statement
The CIS Department fully supports Baruch College's policy on Academic Honesty, which states, in part:
"Academic dishonesty is unacceptable and will not be tolerated. Cheating, forgery, plagiarism and collusion in
dishonest acts undermine the college's educational mission and the students' personal and intellectual growth.
Baruch students are expected to bear individual responsibility for their work, to learn the rules and definitions
that underlie the practice of academic integrity, and to uphold its ideals. Ignorance of the rules is not an
acceptable excuse for disobeying them. Any student who attempts to compromise or devalue the academic
process will be sanctioned."
Academic sanctions in this class will range from an F on the assignment to an F in this course. A report of
suspected academic dishonesty will be sent to the Office of the Dean of Students. Additional information and
definitions can be found at: http://www.baruch.cuny.edu/academic/academic_honesty.html
The use of artificial intelligence (AI) is strictly prohibited in all coursework and assignments. This includes, but
is not limited to, the use of AI-generated text, speech, or images, as well as the use of AI tools or software to
complete any portion of a project or assignment. Any violations of this policy will result in disciplinary action,
up to and including a failing grade for the assignment or course. Our goal is to encourage critical thinking and
creativity, and the use of AI detracts from this objective. Students are expected to use their own knowledge,
research and analysis to complete coursework.
Assurance of Learning
BBA Learning Goals
Significant
Part of
Course
Moderate
Part of
Course
Minimal Part
of Course
Analytical skills
Technological skills
Oral communication skills
Written communication skills
Civic awareness and ethical
decision-making
Global awareness
Proficiency in a single
discipline
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 7
Not Part of
Course
CIS
Course mapping with learning goals
Course Learning Goals
Demonstrate the understanding of and utilize a
computational approach to solving problems
Decompose bigger problems in smaller chunks and put
them back together to solve bigger problems.
Develop comprehensive programs that can achieve
some useful objective
BBA learning goals
Analytical skills
Technological skills
Analytical skills
Technological skills
Analytical skills
Technological skills
Written communication skills
Assignments
Assignments
Assignments
Assignments
Tentative Weekly Schedule
The following is a tentative schedule of topics and lectures. Changes may occur based on class progress. Any changes
will be announced in class and by Blackboard Announcement.
Per the schedule below, note that:
 Quizzes are generally held on the day a new topic is introduced
 Assignments and CodeLabs are generally due on the Monday following completion of discussion of a topic
See the schedule for specific dates, which also appear on the Blackboard calendar.
Week
Date
1
8/288/30
Topics Covered



Basic computer
concepts and
programming
languages
What is an algorithm?
Open Jupyter
notebook (or any
other Python editor)
and write interactive
code using print and
input functions; use
IDLE.
Readings
Chapter 1: Introduction
Algorithms
 Video (58:33): The Secret
Rules of Modern Living
Algorithms
 Video: (5:27) What is an
algorithm?
Python installation and IDLE
 Windows, MacOS
Optional



Algorithms
Firehose Project on
Algorithms
Famous examples of
Algorithms
Deliverables and Other
Work
Install Anaconda
(includes Python [install
3.9 or above], Spyder
and Jupyter)
Install IDLE (see
Appendix A and B of text;
also includes Python)
Assignment 1a: Algorithm
examples in day-to-day
(college life, commuting,
grocery shopping, laundry
planning, cooking etc.)
Assignment 1b: Submit
via Blackboard a
screenshot of Python
running on a Command
Line Interface (CLI) and
responding to a print(‘hello
world’) command.
No CodeLab assignment
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 8
Week
Date
2
9/4
9/6-
The Terminal: First Steps and
Useful Commands
Flowcharts and
pseudocode
 Why and what of
flowcharts
 Why pseudocode?
Optional Computer Basics
9/13-
Data manipulation
Text: §2.2-§2.11
9/18
Decision Structures –
Simple
Text: §3.1-§3.4




4
Readings
College Closed
Introduction to Terminal
and command line
interface (CLI)
9/11
3
Topics Covered
9/20

Text: §2.1: Designing a program
Windows: Working with Files,
Finding Files on Your Computer
MacOS: Working with Files,
Finding Files on Your Computer
How to Organize Your Digital
Files
Boolean operators and
Boolean expressions
with relational operators
Decision Structures –
Complex

9/25
-9/27
Data Types
Variables
Performing calculations
(Arithmetic expressions,
assignment statements)
Deliverables and Other
Work
Text: §3.5-§3.6
Assignment 2a: Write
simple interactive Python
code using print and input
functions
Assignment 2c Submit
via Blackboard a
screenshot of creating a
folder ‘CIS2300-Fall2023’
and navigating to that
folder using terminal
commands
No CodeLab assignment
Assignment 2b: Flow
Chart of Algorithm #1a
Quiz #1 §2.1 –§2.11
.
There is no CodeLab #1
Quiz #2 §3.1 – §3.6
CodeLab #2 Part I & II
Assignment 3: Writing
simple programs with
calculations
CodeLab #3a
Logical operators (and,
or not)
Boolean variables
(True/False)
Decision structures (Ifthen-else)
No Classes Scheduled
CodeLab #3b Writing
programs with conditional
expressions
Assignment 4a: Install
the classic Jupyter
Notebook with pip using a
terminal command. Submit
a screenshot via
Blackboard
Assignment 4b: Writing
programs with complex
conditional expressions
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
page 9
Week
Date
5
10/2-
10/4
Topics Covered
Decomposition and
Abstraction with
Functions - Basic






6
10/9
10/10
10/11
7
10/16
-
9
10
Text §5.1-§5.10
Program design with
functions
College Closed
Classes follow Monday
schedule
Repetition Structures –
Condition controlled
WHILE loops
Text: §4.1-§4.2
Text: §4.3-§4.7
10/23
-
Midterm Exam
All previously covered material
10/25
Python data structures II
Text: Chapter 7
10/30
-
Python data structures II
Text: Chapter 9
Introduction to pandas - I
https://www.datacamp.com/
tutorial/pandas
11/1
11/6
-11/8







Deliverables and Other
Work
Quiz #3 §5.1 – §5.10
Assignment 4
Defining and calling
functions
Local vs. global
variables and their
scope
Argument vs. parameter
Void and value
returning functions
Grouping your own
functions in modules
Keyword arguments
Repetition Structures –
Condition controlled FOR
loops
Python data structures I
10/18
8
Readings
Strings
Lists
Dictionaries
Installation
Core components of
pandas: Series and
DataFrames (DF)
Reading in/Writing data
to/from files
Cleaning data
Text: Chapter 8
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
Assignment 5: Writing a
program with functions
and parameters
Quiz #3 §4.1 - §4.2
Assignment 6: Writing a
program with conditioncontrolled loops
CodeLab #3b
CodeLab #4a
Quiz #4 §4.3 - §4.7
CodeLab #4b
Assignment 7: Writing a
program with countcontrolled loops
Quiz #5
Midterm exam
Assignment 8: Writing
programs with strings
CodeLab #8
Quiz #6
Quiz #7 §9.1 and
§9.3Assignment 9:
Writing programs with lists
CodeLab #9
Assignment 10: Writing
programs with dictionaries
Quiz #8
page 10
Week
Date
Topics Covered
11
11/13
11/15
Introduction to pandas - II
11/20
Files and Exceptions
12





13
14
Introduction to file I/O
Using loops and
processing records
Exceptions
11/22
11/27
11/29
-12/4
No classes scheduled
12/6-
Review material per
student requests and final
project time
Last day of class.
Last Day to drop with a
W
Reading Day(s)
12/11
15
DF slicing, selecting
and extracting
Data analysis in Pandas
12/12
12/13
12/18
Slack
Readings
Deliverables and Other
Work
Quiz #9
Assignment 11: Writing a
program to cleanup a data
file using pandas
https://www.datacamp.com/
tutorial/pandas
Text: §6.1-§6.3
Quiz #10 §6.1 – §6.4
Assignment 12: Writing a
program to conduct basic
data analysis using
pandas
§6.4
This week reserved to
accommodate any slippage in the
schedule
CodeLab #6
Assignment 13:
Performing I/O and
Exception Handling
No CodeLab assignment
Final Exam (Monday
10:30 A.M. to 12:30 P.M.)
CIS 2300 CMWA Syllabus Fall 2023 Version 3 8/29/2023
https://
enrollmentmanagement.ba
ruch.cuny.edu/wpcontent/uploads/sites/
18/2023/06/
Fall2023FinalExamGrid.pd
f
page 11
Download