IC210 Introduction to Computing
Course Policy, Fall AY17 v1.1 (changes from v1.0 are in red)
Coordinator: Prof. C. W. Brown, x3-6817, wcbrown@usna.edu
Course Description:
This course provides an introduction to algorithmic
development, problem solving and software design.
In particular, students develop the ability to solve problems
using the procedural programming paradigm and the C++ language.
These principles and concepts provide
foundational knowledge and experience upon which later
computing courses will build. This is the first course for
computer science and information technology majors.
Learning Objectives:
- Solve problems using the procedural programming paradigm.
- Design, develop, debug, and document computer programs
using structured programming techniques. (supports Student
Outcome (b)).
- Select and implement the most appropriate data structure
for a solution and justify your selection.
- Identify common uses of documents found on the Internet
and explain why each is, or is not, a breach of copyright
law. (supports Student Outcomes (e) and (g)).
-
Identify opportunities for continued
growth in the field of computing. (supports Student Outcome (h)).
Student Outcomes:
(a) An ability to apply knowledge of computing and mathematics appropriate to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution;
(c) An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a common goal
(e) An understanding of professional, ethical, legal, security, and social issues and responsibilities;
(f) An ability to communicate effectively with a range of audiences
(g) An ability to analyze the local and global impact of computing on individuals, organizations and society
(h) Recognition of the need for, and an ability to engage in, continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(CS-j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
(CS-k) An ability to apply design and development principles in the construction of software systems of varying complexity
(IT-j) An ability to use and apply current technical concepts and practices in the core information technologies
(IT-k) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems
(IT-l) An ability to effectively integrate IT-based solutions into the user environment
(IT-m) An understanding of best practices and standards and their application
(IT-n) An ability to assist in the creation of an effective project plan
Textbook(s): Problem Solving with C++, 8th Edition, Savitch, Addison Wesley, 2011.
Extra Instruction: Extra instruction (EI) is strongly encouraged and should be scheduled by email with the instructor. EI is not a substitute lecture; students should come prepared with specific questions or problems.
Collaboration: The guidance in the Honor Concept of the Brigade of Midshipmen and the Computer Science Department Honor Policy must be followed at all times. See
www.usna.edu/CS/resources/honor.php. Specific instructions for this course:
You will have to
take and achieve a 100% on a Blackboard quiz covering the
material in this policy and the departmental Policy Concerning
Programming Projects referenced above. You may take the quiz
as often as you need to, but you will receive an F at each
marking period until you pass it with 100%.
-
Homework:
Collaborative conversations with regard to solving written
problems, of
syntax and strategies for accomplishing homework or lab (i.e. non-project!)
programming assignments are allowed, however design and implementation
must be the work of the individual student handing in the
final product. Thus, the actual pencil-to-paper or
fingers-to-keyboard work must be your own.
Copying a file or
parts of a file from anyone as a basis for your own
submission is prohibited.
Midshipmen must
clearly state on their assignment whom they collaborated
with or received help from — this includes help
received from an instructor in EI or from an MGSP mid.
-
Labs:
Collaborative conversations with regard to
syntax and strategies for accomplishing labs are allowed,
however design and implementation
must be the work of the individual student handing in the
final product. Thus, the actual pencil-to-paper or
fingers-to-keyboard work must be your own. Copying a file or
parts of a file from anyone as a basis for your own
submission is prohibited. Midshipmen must
clearly state on their assignment whom they collaborated
with or received help from — this includes help
received from an instructor in EI or from an MGSP mid.
Note: Although labs are treated as "routine" in this
class, so that collaboration is allowed to the same extent
as for homework, other courses in the department will treat
them differently! So do not assume this is standard!
-
Quizzes and Exams:
All written exams and quizzes will be
closed book. Practicum exams will be given during a lab
period. You may only use your paper-based notes, your own
code stored on your CS Department home directory, the
official class notes from the web, or your textbook for the
practicum. On all exams, quizzes, and practicums you may not
receive help from anyone
-
Projects:
All projects MUST be submitted in order to
pass this class. You must do your own work in
designing, implementing, and testing your projects without
assistance from anyone except for your instructor or, if
properly documented, the other IC210 instructors for this
semester, and (for Project 1) the current IC210 MGSP leaders. The
Department Policy Concerning Programming Projects provides
detailed guidance.
All collaboration and outside sources should always be cited. The same rules apply for giving and receiving assistance. If you are unsure whether a certain kind of assistance or collaboration is permitted, you should assume it is not, work individually, and seek clarification from your instructor.
Classroom Conduct: The section leader will record attendance and bring the class to attention at the beginning and end of each class. If the instructor is late more than 5 minutes, the section leader will keep the class in place and report to the Computer Science department office. If the instructor is absent, the section leader will direct the class. Drinks are permitted, but they must be in reclosable containers. Food, alcohol, smoking, smokeless tobacco products, and electronic cigarettes are all prohibited. Cell phones must be silent during class.
Late Policy: Penalties for late submission of graded work may vary among courses or from semester to semester, but they will be the same for all sections of a given course. For this course:
-
Late homeworks are not accepted. (Homework submission for excused
absences should be resolved with your instructor.)
-
Labs are due by the beginning of the next lab period.
-
Programming project late policy will be established for each
individual programming project.
Grading:
|
6 weeks
|
12 weeks
|
16 weeks
|
Final
|
Homework
|
9%
|
9%
|
9%
|
9%
|
Labs
|
8%
|
8%
|
8%
|
8%
|
Projects
|
21%
|
21%
|
21%
|
21%
|
Exams
|
62%
|
62%
|
62%
|
62%
|
Total
|
100%
|
100%
|
100%
|
100%
|
- 30%: Final Exam (20 written, 10 practicum)
The final exam will be cumulative,
but will emphasize the last 6 Weeks of the course.
It will have a written and practicum (hands-on
programming) component.
- 32%: Exams 1 and 2 (10 written, 6 practicum for each)
Both will have a written and practicum (hands-on
programming) component.
- 21%: Projects
Expect to have three programming projects - one for each
marking period.
- 17%: Homeworks & Labs
Expect a small assignment after every class.
Assignments will be due at the beginning of the class
following the assignment, unless otherwise directed by
your instructor.
No late submissions will be accepted without an excused
absence. Labs will be demo'd to the professor during the
lab session for credit. Any unfinished, required lab
items must be finished and submitted as described above.