CSCI 13500 ANALYSIS & DESIGN 1 HUNTER COLLEGE CITY UNIVERSITY OF NEW YORK
Lecture: Tong Yi (ty680@hunter.cuny.edu) Monday, Thursday 9:45 – 11:00 AM
Recitation (please choose one section).
Section |
Lab
|
Instructor |
E-mail
|
13500 sec 1R01 |
Mo 1:10PM -
3:00PM |
Minh Nguyen |
minh.nguyen@hunter.cuny.edu |
13500 sec 1R02 |
Mo 3:10PM -
5:00PM |
Minh Nguyen |
minh.nguyen@hunter.cuny.edu |
13500 sec 1R03 |
Mo 5:35PM -
7:25PM |
Serra Canca |
serra.canca59@myhunter.cuny.edu |
13500 sec 1R04 |
Tu 2:10PM - 4:00PM |
Katherine Howitt |
kghowitt@gmail.com |
13500 sec 1R05 |
We 9:10AM -
11:00AM |
Yasmeen Hassan |
yasmeen.hassan14@myhunter.cuny.edu |
13500 sec 1R06 |
We 11:10AM
- 1:00PM |
Yasmeen Hassan |
yasmeen.hassan14@myhunter.cuny.edu |
13500 sec 1R07 |
We 3:10PM - 5:00PM |
Minh Nguyen |
minh.nguyen@hunter.cuny.edu |
13500 sec 1R09 |
Th 3:10PM - 5:00PM |
Melissa Lynch |
lynch.melissat@gmail.com |
MoTh 8:35AM - 9:25AM |
Michael Zamansky |
mz631@hunter.cuny.edu |
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
There are dedicated computer lab for this course: HUNTER NORTH 1001B. It is
staffed with tutors, who are there to help you. Please take advantage of them.
You can ask for help with labs, projects, and general course material Monday
through Friday from 11:00 AM to 6:00 PM.
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: okunhardt.github.io/documents/Installing_WSL.pdf
. 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
26% for work in recitation section, 5% lecture
quizzes, 5% lab quizzes, 7% homework, 7% for each of the three projects, 12% of
midterm exam, and 24% 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.
LATE AND MAKE UP POLICY
Ample time will be given to complete labs and projects. However, because of 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 AccessABILITY for assistance and accommodation. For
information and appointment contact the Office of AccessABILITY
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.gc.cuny.edu/CUNY_GC/media/CUNY-Graduate-Center/PDF/HR/Policy/Policy-Sexual-Misconduct.pdf?ext=.pdf
CAMERA AND RECORDING POLICY
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.
TESTING
SOFTWARE
Proctoring
software, which may include the use of browser lock-downs and cameras, will be
used for examinations in this course.