CSC015 Fundamentals of Computer Science I:
Problem Solving and Program Design
(Fall 2022)
Class Hours: 1:00-2:25PM TR (STARR 108) Hours: 4
Lab Session Hrs: 2:40-4:35 PM F(Adams 208) Prerequisite: None
Instructor: Dr. Xiang Fu
Office Hours: See Blackboard
Office: ADAMS 120
E-mail:
[email protected]Course Description: Welcome to CSC15! This is a class where you have to get your hands dirty. We tackle real world problems
using a programming language called Python. You will be exposed to fun projects like (topics each semester might vary):
(1) How to set up a dynamic Python Web-application and build a simple local site search engine?
(2) How to build a fully automated Web crawler which searches the best textbook deal?
(3) Solving puzzles like Sudoku.
(4) Processing huge amount of information, e.g., the historical stock price data.
(5) 2-D Animation.
(6) Computer Gaming, e.g., building a cool Tank Battle game.
This course is an introduction to computer science with emphasis on problem solving, programming and algorithm design. Topics
include basic programming constructs, expressions, functions, data types, arrays and strings.
Course Objectives:
Develop a basic understanding of computing. Appreciate the important problems of computing research. Know the major
branches and application areas of computing.
Proficiently master a very high level programming language (Python) for tackling real-world problems.
Develop problem solving skills. Know how to apply general principles (e.g., software design process, problem specification
and feasibility analysis, computer simulation, algorithm design, testing and quality assurance, reading and writing technical
documents) in simple application scenarios.
Required Textbook:
(1) T. Gaddis, Starting out with Python, (4e). ISBN 9780134543666. (Special note: this version is bundled with Pearson
MyProgramming Lab, which is needed for this class. If you purchase an older version of the book, please make sure
to purchase the Pearson MyProgramming Lab pack separately.
Pearson Mylab CourseID: HOFS-54304-YJMJ-54
Recommended:
(2) John M. Zelle, Python Programming – an Introduction to Computer Science (2e). ISBN 1590282418.
(3) Mark Guzdial and Barbara Ericson, Introduction to Computing and Programming in Python, A Multimedia Approach. 2/e.
ISBN 9780136060239.
Required Hardware/Software:. The professor has prepared the entire lab environment in a VirtualBox image. Please download the
file (4GB) from your Blackboard account. To make your life easier in this class, it is recommended to have your own laptop.
(1) Laptop with >2.0Ghz multi-core CPU (avoid Intel Celeron or similar single-core CPU products), >4GB RAM, > 20GB free
space on hard-drive.
(2) Install latest Oracle VirtualBox above
(3) CPU supports Vt-X (virtual machine technology) and it is enabled in BIOS or UEFI. Some laptops, e.g., HP and Dell has
Vt-x disabled by default. Please configure UEFI of your laptop.
Tentative Course Schedule: subject to change. Please check Blackboard regularly for updates.
Week Topic*
1 Introduction to Programming Language
1 Numbers, Control Flow
2 Strings, Input/Output
2 File Operations
3 Array, Function Calls
3 Recursion
4 Algorithm Design I
4 Algorithm Design II
5 Application Project 1: Performing Web Search
6 Application Project 2: Graphical Interface. Plotting Stock Data
7 Application Project 3: Scratch 2D Animation
7 MIDTERM EXAM
8 Introduction to Object Oriented Design
8 OO Design II
9 Application Project 4: The Tank Battle Game.
9 Application Project 4: The Tank Battle Game.
10 Application Project 4: The Tank Battle Game.
10 Algorithm Design III
11 Algorithm Design IV
11 Application Project 6: Tic-Tac-Toe
12 Application Project 6: Tic-Tac-Toe
12 Application Project 7: Sudoku
13 Application Project 7: Sudoku
14 Application Project 8: Web App
14 Application Project 8: Web App
15 Application Project 9: Search Engine
15 Final Review
16 Final Exam (TIME/LOCATION TBA)
Grading: Both assignments and exams are important indicators of your learning outcomes. The grade will be normalized to 100
point scale using the following formula: (Here “assignments” is the total points you scored from all assignments and
“assignments total” is the sum of all available points from the assignments.)
min ( ( assignments
assignments
total
85+
quiz
quiz total
15) , (
midterm exam
midterm examtotal
40+
final examtotal )
final exam
60 )
Letter grade will be assigned according to the following formula.
A = by curve,
A- = by curve,
B+ = by curve,
B = 81 to 85,
B- = 70 to 80,
C+ = 65 to 69,
C = 60 to 64,
C- = 55 to 59,
D = 50 to 54,
F = below 50.
The use of “academic assistance site” such as chegg is strictly forbidden in this course.
Make-up Exam Policy: One make-up exam (in the form of oral exam) will be provided for the midterm and final exam.
Attendance & Camera Policy: You are required to attend all class sessions of this course and are responsible for all material
presented in class (all homework assignments, quizzes, and exams). No doctor notes or excuse statements will be asked for
absences or late work. Missing a significant number of classes, however may lead to an INC or UW grade. Camera should be
turned on for all exams and when required by the professor during lab discussions.
Late Policy: You will submit your work in Blackboard, unless stated otherwise in the assignment specification. Late submission
penalty is 20% per calendar day.
Mask-wearing
Mask-wearing will be optional in all indoor spaces on the Hofstra campus, including classrooms. The only exceptions will be in the
Student Health Services Office and on the campus shuttle. Some members of our community will continue to wear a mask. Masks
will remain available in buildings around campus. Additional information regarding COVID protocols, including mask-wearing, can
be found on the University’s Together Again webpage.
Information regarding the latest guidance on the Monkeypox viral infection can be found on the University’s Student Health Services
Information about Monkeypox webpage.
Campus Closures/Snow Days
When the campus is closed for snow or other inclement weather, faculty are encouraged to hold classes remotely whenever
pedagogically appropriate. Meeting remotely during campus closures eliminates the need to use snow/study days later in the
semester. The decision to do so is left to the discretion of each faculty member and is communicated to students in a timely manner.
On snow days or other school closures, childcare, weather emergencies, bandwidth, technology or other home arrangements may
interrupt class attendance. Students who are experiencing these issues should speak with faculty about possible ways to participate in
class and/or catch up on missed work.
Class Attendance:
Participating in class—including attending in-person or synchronous online class meetings—is an essential part of a Hofstra
education.
Instructor and Student Responsibility:
It is the responsibility of each instructor to specify clearly on the course syllabus all class attendance and participation requirements,
including policies related to missed assignments, quizzes, and exams. When a student fails to attend class as required, it remains the
student’s responsibility to contact the instructor by email prior to or immediately after class time to explain the absence. Given the
serious nature of the Covid-19 virus, instructors recognize that students who do not feel well should not come to an in-person class
meeting. It is the responsibility of the student to discuss with the instructor and make up any missed assignments, quizzes, or exams
and to fulfill all class participation requirements in a timely manner. Students who are required to isolate or quarantine as a result of
COVID-19 concerns should inform Student Health Services at 516-463-6745. As is the case for other confirmed health and
emergency circumstances that may influence students' attendance in classes, faculty will receive notification of anticipated
absence(s) via email from the Dean of Students Office or the Center for University Advising. Students will be directed to talk with
faculty about the most appropriate way to continue to participate in class and/or catch up on missed work.
Instructors should warn students whose repeated absences are cause for academic concern and inform students if they are in danger
of failing the course because of the amount of work or class participation missed. Instructors are encouraged to reinforce attendance
and other academic concerns by issuing an Alert through the Navigate app (formerly known as Connect) feature in the Hofstra Portal.
If needed, and if permitted under relevant policies, the student may drop or withdraw from the course. Students with long-term
illnesses that prevent regular attendance should coordinate with their academic advisors and Student Access Services (SAS) for
appropriate accommodations.
Web Cameras:
Classes are scheduled to be in-person. However, there may be an occasion when a synchronous online class meeting is warranted. In
that instance and for pedagogical, academic integrity, and security reasons, instructors may require students to have their web
cameras turned on during synchronous online class meetings, labs, and exams. If specific testing software is required for exams, the
student is responsible for making sure it works properly before an exam. Instructors should clearly indicate on the syllabus any
course requirements for camera use. If a student has compelling technological or environmental reasons for leaving the camera off
during class, the student should communicate directly and privately with the instructor to request an exemption and explore possible
solutions.
Availability of Class Material When Students are Unable to Attend Class:
Each faculty member will determine a method(s) to accommodate students who cannot attend class(es) due to medical reasons and
are enrolled in classes which include an in-person component. Some examples of course materials faculty may make available
include PowerPoint presentations, class notes, recorded classes, or other resources deemed appropriate by the instructor. It is
understood that only students enrolled in the course may view any materials posted online. It is important to note that there are some
limited instances, e.g. due to the nature of the course material and assignments or based on licensure or accreditation standards,
where classes cannot be completed without participation on campus or in a clinical setting. In these instances, the major department
will work with the student to make alternative arrangements to help students stay on track in their degree program.
Academic Integrity:
Hofstra University places high value upon educating students about academic integrity. At the same time, the University will not
tolerate dishonesty, and it will not offer the privileges of the community to the repeat offender. The academic community assumes
that work of any kind--whether a research paper, a critical essay, a homework assignment, a test or quiz, a computer program, or a
creative assignment in any medium--is done, entirely and without unauthorized assistance, by the individual(s) whose name(s) it
bears. Students bear the ultimate responsibility for implementing the principles of academic integrity. For more information, please
visit hofstra.edu/fps/11.html.
In the spring of 2012, the University community affirmed a new expression of commitment by instituting the Hofstra University
Honor Code. The Honor Code is a statement of shared values.
Hofstra University Honor Code: “As a member of the Hofstra community I pledge to demonstrate integrity and ethical
behavior in all aspects of my life, both inside and out of the classroom. I understand that I am accountable for everything I
say and write. I will not misrepresent my academic work, nor will I give or receive unauthorized assistance for academic
work. I agree to respect the rights of all members of the Hofstra community. I will be guided by the values expressed in the
P.R.I.D.E Values. I accept the responsibility to follow this Honor Code at all times.”
Honor Code Short Form: “I pledge on my honor that I have done this work with honesty and integrity, without giving or
receiving unauthorized assistance.”
Turnitin for Textual Similarity Review: “Students agree that by taking this course all required papers may be subject to
submission for textual similarity review to Turnitin.com for the detection of plagiarism. All submitted papers will be
included as source documents in the Turnitin.com reference database solely for the purpose of detecting plagiarism of such
papers. Use of the Turnitin.com service is subject to the Usage Policy stated in the Turnitin.com site.”
Academic Dishonesty: Plagiarism and other forms of academic dishonesty are serious ethical and professional infractions.
For information regarding academic integrity, examples of violations, procedures for handling violations, as well as a
student’s right to appeal a charge, see Faculty Policy Series #11 or Faculty Policy Series #11G.
Disability Accommodations:
Students who need accommodations for a disability should contact Student Access Services (SAS). In accordance with Section 504
of the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990, qualified individuals with disabilities will not be
discriminated against in programs, or services available at Hofstra University. Individuals with disabilities are entitled to
accommodations designed to facilitate full access to all programs and services. SAS is responsible for coordinating disability-related
accommodations and will provide students with documented disabilities accommodation letters, as appropriate.
Please note that accommodations may require early planning and are not retroactive; please contact SAS as soon as possible. All
students are responsible for providing accommodation letters to each instructor and for discussing with the instructor the specific
accommodations needed and how they can be best implemented in each course. For more information on services provided by the
University and for submission of documentation, please contact Student Access Services, Room 107 Mack Student
Center,
[email protected], 516-463-7075.
Resources for Students who are Pregnant:
Students who are pregnant, who wish to request adjustments related to their pregnancy or pregnancy-related condition, such as
opportunities to make up missed work, excused absence from class, or extensions, should contact Student Access Services, Room
107 Mack Student Center,
[email protected], 516-463-7075. Students who wish to learn more about how the University supports
students who are pregnant in continuing their education should contact the Title IX Officer Coordinator for Student Issues at 516-
463-5841 or
[email protected].
Temporary Adjustments/Academic Leave of Absence:
Students who experience a medical event (e.g., hospitalization) or who have a short-term health condition (longer than 10 days),
including a COVID-19-related condition, which they believe may require temporary adjustments to participate in class, should
contact:
Student Access Services
Room 107 Mack Student Center
[email protected]516-463-7075
Students seeking an academic leave of absence from the University (i.e., for a minimum of one full fall or spring semester)
should visit our Academic Leave and Withdrawal page for more information.
Absences for Religious Observance:
Hofstra University recognizes that students and/or faculty may from time to time miss class due to religious observances. Students
who anticipate missing class for this reason should notify faculty members in advance. Likewise, faculty members who anticipate
missing class for religious observance should notify students in their classes.
As per Faculty Policy Series 12 (B): “No student shall be expelled or refused admission to Hofstra University because he or she is
unable to participate in any examination, study or work requirement because of his or her religious obligations and practices.
However, all students are expected to complete all assignments and examinations. It is understood that no adverse or prejudicial
effects shall result to any student who avails him or herself of religious observances. The University, faculty, and student shall work
together to achieve a reasonable accommodation concerning any conflicts between educational and religious obligations.”
In accordance with New York state law, each student who is absent from school because of their religious beliefs will be given an
equivalent opportunity to register for classes or make up any examination, study, or work requirements that the student may have
missed because of that absence on any particular day or days.
University Deadlines:
For important dates and University deadlines, see the Academic Calendar webpage.
Grade Policy and Deadlines:
Hofstra’s policies regarding incomplete grades, default grades, and associated deadlines can be found in the Hofstra Bulletins.
Discriminatory Harassment, Sexual Assault, Dating & Domestic Violence, and Stalking
Hofstra prohibits sexual and other discriminatory harassment, stalking, domestic and dating violence, and sexual assault (collectively,
“Gender-Based Offenses”). Students who believe they have been subjected to any of these Gender-Based Offenses should refer to
Hofstra’s Nondiscrimination Policy for information about applicable policies and how to submit reports. Students may contact the
Title IX Coordinator for Student Issues at 516-463-5841 or
[email protected] or contact Public Safety at 516-463-6606,
or, for concerns involving employees or other nonstudents, the Title IX Coordinator for Employee Issues, at 516-463-6859
or
[email protected]. Confidential resources and support are also available from medical and counseling professionals
in the Student Health and Counseling Center (516-463-6745) and clergy in the Interfaith Center.