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:
  1. Solve problems using the procedural programming paradigm.
  2. Design, develop, debug, and document computer programs using structured programming techniques. (supports Student Outcome (b)).
  3. Select and implement the most appropriate data structure for a solution and justify your selection.
  4. 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)).
  5. 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%.
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:
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.