CSCI 13500 ANALYSIS & DESIGN 1 HUNTER COLLEGE CITY UNIVERSITY OF NEW YORK
Lecture: Tong Yi (ty680@hunter.cuny.edu) Monday, Thursday 1:00 PM – 2:15 PM
COURSE DESCRIPTION
This course is:
• An introduction to software development, using the C++ programming language. Software development is a skill that involves solving real-world problems by developing computer programs. Breaking a problem down, then creating a series of logical steps (an algorithm) that solves the problem is the conceptual part of the course. The technical component involves translating the solution into a working computer program. A successful student will be able to clearly and logically develop an algorithmic solution to a problem, while being comfortable enough with C++ to transform the algorithm into a working computer program.
• A preparation for further courses in computer science. This course is one of the “ABCs” of computer science. Students who expect to succeed in more advanced courses in computer science need to go beyond understanding the material presented in this course – they need to master it. It’s sort of like the fact that you need to master the alphabet in kindergarten in order to be a successful reader in first grade.
• Time consuming, very, very time consuming. Any programming course takes up a lot of a student’s time. In addition to the time spent in class, most students will need to spend between 10 and 15 hours a week at a computer. That makes for a total of 15-20 hours a week actually developing algorithms, and writing and debugging programs, no kidding!
This course is not:
• An introduction to computers in general. We will not cover: operating systems, networks, databases, etc. This course teaches a specialized skill – developing solutions using computer programming – and only that. You should already possess basic computer skills such as compiling simple computer programs, editing files, manipulating files, etc. If you don’t feel comfortable with these sort of basic computer skills you should come talk to me.
• An overview of the C++ language. C++ is a huge language with a lot of highly technical details. We will cover the fundamentals of C++, but the focus is on designing algorithms and solving problems. • A good idea to take if you are working full time and taking a full course load, or, for any other reason(s) you don’t have a lot of free time to devote to CSCI 13500. The course material requires many hours to master (see above). Be honest with yourself. Make sure this course is for you, now, at this point in your academic life. If you would like to discuss the time requirements further please feel free to come talk with me.
Other than during lecture quizzes I ask that all cell phones be put away in class.
PRE-REQUISITES
The prerequisite is CSCI 12700 or instructor’s permission. At the very least,
you should have written, compiled, and run a program containing iteration while
, for
and selection if
statements.
TEXT
Cay Horstmann, Brief C++, 3rd
ed. eText - please rent the eText for one semester from here - do not buy or rent it
from Amazon or Kindle store - you will not get access to the necessary
interactive material!
MAIN COURSE PAGE
You should check this page and blackboard regularly, since all class materials
will be gradually posted here and in blackboard.
TUTORING
You can ask for help with labs, projects, and general course material in your
recitation section. Code review will be conducted at Hunter NORTH 1001 B.
QUESTIONS
Ask many in lecture! Outside of lecture go to the tutoring labs. The department
hired additional tutors especially for students taking this course. Email the
instructor of your recitation section with any programming questions that the
tutors cannot answer. The beginning of each recitation is also devoted to
answering questions. All emails to instructors must start with your full name,
day and time of your recitation section, and name of your recitation
instructor.
GRADESCOPE
You will submit all labs, homework, quizzes, and projects electronically
through Gradescope. You will see your grades
(including exam grades) on Gradescope as well. An
invite email was sent to you before the first lecture. If you have not received
it, ask your recitation instructor to send you another one right away: you will
need to email him or her your full name, EMPLID, and a working email address.
BLACKBOARD
Make sure that you have configured BlackBoard to use
your preferred email address (your Hunter email address, by default), since you
are responsible for any email I might send there.
SOFTWARE
This course it taught in Linux and your programs must be able to run on a Linux
platform. On campus, you may use the 1001C and 1001B labs to do your work for
this course. The standard Linux/Unix/Mac OS C++ compiler is g++. If you wish to
use a home computer, you can use a Mac. Macs have Unix command line and g++.
You can install Ubuntu Linux. If you want
a Linux environment on Windows without installing Linux, follow this excellent
tutorial: install Windows Subsystem for Linux
(WSL) and Visual Studio in Windows, created by Moududur (Moody) Rahman and
improved by Professor Genady Maryash. We
have had problems in the past with students programming in a native Windows
environment at home, and their programs don’t work in the Linux labs and might
be incompatible with Gradescope.
GRADING
22% for labs, 5% mid-lecture quizzes, 7% for
code review (taken in tutoring sections), 4% for lab quizzes (taken in recitation), 7%
homework, 7% for each of the three projects (this may not seem like a lot, but
beware that many exam questions will be based directly on homework and
projects), 11% of midterm exam, and 23% final exam. If you do better on the
final exam, your final exam grade can replace your midterm exam if the latter
is lower than the final grade. However, if
you do not pass the final exam, you cannot pass the course.
POLICY ON ARTIFICIAL INTELLIGENCE AND ONLINE TUTORING
The use of artificial intelligence (AI) or online tutoring websites like
chegg.com 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.
LATE AND MAKE UP POLICY
Ample time will be given to complete labs and projects. Due to the logistics of
running a large lecture course, there will be no late
project or lab submissions.
LEARNING OUTCOMES
Show a deep practical knowledge of one widely used programming language.
Implement a complete correct program utilizing all basic C++ concepts. Analyze
and solve a non-trivial problem by designing and implementing a C++ program on
your own. Apply principles of design and analysis in creating substantial
programs and projects of realistic scope.
CLASS EXPECTATIONS
• From the beginning, you will be expected to work independently outside of the
lectures. Get started right away – especially if you are going to install your
own compiler and/or operating system. The first programming project is assigned
during the first week.
• Absorbing the material and doing the assignments may be challenging. In order to grasp software development concepts one must sit in front of a computer many hours a week actually writing and debugging programs outside of class time. When it comes to programming, the learning is in the doing. There is no substitute for trying and failing, trying and failing, until you finally get your program up and running correctly. Get ample help from the tutors.
• Midterm and final exams are largely based on the labs, programming projects,
and homework. It is essential that you complete them on time.
ACADEMIC INTEGRITY
We take academic honesty very seriously, and any violation results in sanctions
in accordance with Hunter College procedure. Hunter College regards acts of
academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining
unfair advantage, and falsification of records and official documents) as
serious offenses against the values of intellectual honesty. The College is
committed to enforcing the CUNY Policy on Academic Integrity and will pursue
cases of academic dishonesty according to the Hunter College Academic Integrity
Procedures.
STUDENTS WITH DISABILITIES AND MEDICAL CONDITIONS
In compliance with the ADA and with Section 504 of the Rehabilitation Act,
Hunter College is committed to ensuring educational access and accommodations
for all its registered students. Hunter College’s students with disabilities
and medical conditions are encouraged to register with the Office of Access
ABILITY for assistance and accommodation. For information and appointment
contact the Office of Access ABILITY located in Room E1214 or call (212)
772-4857 or VRS (646) 755-3129.
CUNY POLICY ON SEXUAL MISCONDUCT
In compliance with the CUNY Policy on Sexual Misconduct, Hunter College reaffirms the prohibition of any sexual misconduct, which includes sexual violence, sexual harassment, and gender-based harassment retaliation against students, employees, or visitors, as well as certain intimate relationships. Students who have experienced any form of sexual violence on or off campus (including CUNY-sponsored trips and events) are entitled to the rights outlined in the Bill of Rights for Hunter College.
a. Sexual Violence: Students are strongly encouraged to immediately report the incident by calling 911, contacting NYPD Special Victims Division Hotline (646-610-7272) or their local police precinct, or contacting the College's Public Safety Office (212-772-4444).
b. All Other Forms of Sexual Misconduct: Students are also encouraged to contact the College's Title IX Campus Coordinator, Dean John Rose (jtrose@hunter.cuny.edu or 212-650-3262) or Colleen Barry (colleen.barry@hunter.cuny.edu or 212-772-4534) and seek complimentary services through the Counseling and Wellness Services Office, Hunter East 1123.
CUNY Policy on Sexual Misconduct Link: https://www.cuny.edu/wp-content/uploads/sites/4/page-assets/about/administration/offices/legal-affairs/policies-resources/Sex-Based-Misconduct-Policy.pdf
BULLY IS NOT TOLERATED
Bullying, cyberbullying, online hate, intimidation, threats, harassment, and pressure to share schoolwork are all forms of violence. CUNY holds a zero tolerance stance towards all such acts. The University is committed to prevention of any form of bullying, will respond promptly to threats and/or acts, and will protect victims of bullying from retaliation. As a criminal matter, the New York Attorney General defines cyberbullying as the use of email, websites, instant messaging, chat rooms, text messaging and digital cameras to antagonize and intimidate others. Disrupting a teleconferencing platform (such as Zoom/Skype/Blackboard Collaborate Ultra) is a federal crime.
NECESSARY CHANGE
Note that details of this document are subject to change if the need arises.