Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit                           

CS 150  C++ PROGRAMMING

SYLLABUS - Fall 2022

COURSE DESCRIPTION

This course is designed for the beginner programmer. It will introduce the student to the art and science of procedural and object- oriented programming using the C++ programming language. Students will learn to design and code programs incorporating          control structures, data types, input/output (I/O), classes, objects and simple data structures such as arrays. They will employ        object-oriented programming techniques such as encapsulation, inheritance and polymorphism to develop user defined classes.     They will learn the difference between procedural and object-oriented programming while using algorithms/pseudocode to             develop solutions to problems. Using these algorithms, students will create C++ programs that demonstrate good programming     practices. The sequel to this course is CS 151 – Advanced C++ - where advanced Computer Science topics such as pointers,               advanced data structures such as linked lists, basic recursion, exceptions and advanced file operations, and the Standard Template Library (STL) are covered.

COURSE LEARNING OUTCOMES

At the conclusion of this course, students will be able to demonstrate the following outcomes:

1.    Analysis  The student will be able to analyze designs incorporating basic control structures and object-oriented design techniques which will result in appropriate solutions to specified problems.

2.    Problem Solving The student will implement effective solutions to simple programming problems. These solutions may utilize primitive data types and objects of pre-defined classes and may employ basic control structures, class library objects and functions to control program execution, event-handling and provide a simple graphical user interface.

3.    Communication – The student will be able to convey the basic concepts of the object-oriented paradigm and to describe basic syntactic and program control structures and write simple program designs using algorithms and class diagrams as well as explain a program design verbally and in writing.

4.    Teamwork The student will be able to work collaboratively and cooperatively in teams to develop basic software designs using algorithms and class diagrams as well as develop simple computer programs that implement these designs.

TEXT AND MATERIALS

▪      Starting Out with C++ Early Objects , 8th edition, Gaddis; ISBN­10: 0­13­336092­X  I will provide a PDF version on Canvas.

▪      Starting Out with C++ Early Objects , 9th edition, Gaddis (Newer Version)

▪      Paper + Writing Utensils (notes and in class exercises)

▪      2 GB  USB MEMORY or FLASH STICK (backup code in case class computers are cleaned)

▪      Printing (Must set up an account with at least $5 in it at the Library Hub during the first week of class - for emergencies)

ETHICS

Assignments are to be completed by the individual student. While meaningful dialogue over homework is acceptable, turning in      work that someone else has completed is considered academic dishonesty. Other things that could also be deemed as academic    dishonesty, but not limited to, are:  using all or parts of a solution online (Google, Stack Overflow, GitHub, Yahoo         Answers, etc.), sharing all or parts of your code with a classmate, turning in code that fakes output but does not  actually solve intended problem, and other practices up to the discretion of your instructor. All parties involved will receive no points for that assignment. Also, any student caught cheating on a quiz or exam will automatically receive a 0.

Wearing of headphones, use of electronic devices not explicitly approved for the class (cell phones, music/video players, etc .) and emailing/ text messaging are not allowed.

ATTENDANCE

Regular attendance is important since each class lecture and lesson builds upon the previous lessons.  Students should arrive on time. Students who are absent are responsible for keeping up with the rest of the class.  If you need to drop the course, it is your

responsibility to do so, not the responsibility of the instructor.  If you do not, the grade you have earned will be recorded on your permanent record.

Note : If you are absentfor three or more times, instructor reserves the right to automatically droppedfrom the course.

EVALUATION

      Homework:

o     17 weekly programming assignments/challenges that consist of multiple programming projects. o Primarilyfocus on implementing the current weeks topics, but rely heavily on the knowledge and skills of ALL of the previous topics.

o     Lab Assignments are intended to provide practice in the competencies students are expected to achieve for each week of class.

o     They will be completed in the computer lab or on your home computer.

o     Homework is due before start of class on the date indicated on the Schedule. Homework is submitted through blackboard and the submission link stays open 1 hr until 8am after the class starts.

o     Late homework will only be accepted up to one week late after the due date and will receive up to

50% of the total possible points. Homework that is entered as zero (0) points on Canvas will no longer be accepted. If you have an extenuating circumstance, contact your instructor as early as possible to see if an exception applies.

Makeup assignment – students are responsible for contacting their instructor for any make up work in case of an absent.

o     For Each application written, 5 of which apply to documentation, the rest is divided evenly between projects or as indicated.

o     Homework’s are graded based on solutions presented, as well as following good style/convention presented in lecture.

o     It is your responsibility to ensure your homework is clean, presentable, and follows the above guidelines.

o     Note: ALL homeworks may only use the material covered in class. Points will be deducted for using techniques/material not covered at the time homework is assigned.

      Readings:

o     To be completed before start of first lecture of the week, indicated in the Schedule.

o     You will benefit much more from the class if you are prepared and can answer your instructor’s and/or fellow students’ questions.

o     Note: Lectures assume that you have at least a general understanding of the concepts in the readings.

      Quizzes:

o    Course includes 14 weekly quizzes that serve as a pre-test to prepare for the current week’s lecture and to ensure that students have completed the readings.

o     Each quiz is worth 10 points, and can be retaken unlimited times until due date. Students will login to Blackboard and will have until the start ofthe new week to complete the quiz. All quizzes must be completed before start of that lecture.

o     Note: All  quizzes  are  open  everything, the purpose  of the  quizzes being to  make  sure  students understand the most essential and crucial concepts to actively participate in the new topics lectures.

      Exams:

o All exams are closed notes and book, missing an exam will constitute a score of 0.

Make up or early exams will be given only under extraordinary circumstances. If you miss either the midterm or the final exam, you will receive a score of 0 for that exam. Grading for the course is based upon the percentage of total points earned as shown below.

Note that the total number of points is approximate.

POINTS BREAKDOWN:

This course will include various types of assignments, lab work and discussions weekly. These assignments are intended to provide practice in the competencies students are expected to achieve for each week of class. These assignments will be completed in the computer lab or on your home computer.

In-Class/Group Labs (6) (10 pts weekly)

Review Question Exercises (12 weeks’ worth) (5pts each exercise) Weekly Programming Challenge Ex’s (25) (10pts Weekly)              Discussion Board (12) (10 points each)

Final Project

Maybe Cancelled

60 pts.

210 pts.

250 pts.

120 pts.

85 pts.

20 pts.

80 pts.

70 pts.

================================================================

TOTAL POSSIBLE POINTS (Approximately)                                            895 pts.

================================================================

OPEN LAB HOURS - Computers are available in the Hub on the Oceanside campus or in room SEC 106 on the San Elijo campus for practicing and completing course assignments.   Open lab hours are posted.  A lab instructor or aide will be available for help in the


Oceanside Hub computer Lab. You must read the relevant course material before asking for help. Otherwise, the lab instructor may choose not to assist you.

TUTORING - If you need extra help outside of class, contact Tutorial Services at 757-2121 ext. 7748 and/or your instructor. The tutoring office provides trained tutors who have taken the class and are familiar with the material. In a typical tutoring session, a tutor will work with you for approximately 45 minutes to an hour in the open computer lab. Tutoring is primarily to help you understand the course material, not to complete your homework for you. If the tutor ascertains that a student has come to the session unprepared (e.g., has not read the supporting chapter material), the tutor may be unable or refuse to provide the student with assistance.

DISABLED STUDENTS - A student with a verified disability may be entitled to appropriate academic accommodations. Please contact your instructor and/or the Disabled Students Program and Services Office (757-2121 ext. 6658) for further information. Their office is located in Building 3000, Room 309.