Computer Science Technology Department Houston Community College System Department Website: http://csci.hccs.cc.tx.us CRN: 46876 978-1-4239-0146-4 1-4239-0146-0 Semester: Fall 2010 Campus and Room: Stafford Scarcella E106 COSC 1436 PROGRAMMING FUNDAMENTALS I with C# Days and Times: Monday - Wednesday 9:00am 12:00pm Instructor: PK Louie Office Hours to be announce Please Phone: 713-718-5241 to confirm that I am in the office Phone: 713-718-5241 WEB: http://tc3.hccs.edu/louiepk Email: pk.louie@hccs.edu Other Required Materials: USB drive to back up in class work. Detailed Course Evaluation: Grades: You will have 2 examinations, comprising 40% of your total grade. Reading quizzes, class attendance and participation count 10%. Programming projects and lab assignments (all collectively referred to as lab work ) will count for the remaining 50%. I will arrive at your final letter grade by simply totaling examination grades plus the grade for lab work at their respective percentage of the final grade. You must pass the final exam to pass the course. MidTerm 20% Final 20% Programming 50% Reading quiz && In class exercises 10% There will be reading quiz for each chapter in the textbook. Reading quizzes will be graded homework due at the start of the next Chapter. Programming Assignments
Assignments and lab work: You must turn in all programming assignments to pass this course. You will be given due dates for each assignment in addition to the exact items you must turn in. Never come to class without your USB drives. KEEP UP TO DATE ON YOUR ASSIGNMENTS. YOU CANNOT PASS THIS COURSE UNLESS YOU COMPLETE ALL ASSIGNMENTS. Submitting your Assignments for Grading To be gradable work must be complete, produce the correct output and conform to the specification. Late assignments are penalized 5 points per day. Submitted work that is incomplete will be returned for re-working and will be assessed late points. I will compile and run your code. Required source files: TestDriver.cs This is a Console Main() consisting of Unit Tests. The test will use hard wired test values and externally calculated verifiable answers. <Classname>.cs Program.cs This is the class implementation. This is typically a user interactive Console Interface. Submission methods: 1 Copy your VS project folder to my USB flash drive (preferred method) 2 Email with attached zipped VS project folder. Must have a timestamp before deadline 3 Email with attached source files. Must have a timestamp before deadline Academic Honesty: Students are expected to complete all materials (examinations and exercises) on their own. Each student must code and debug his own program code (No help from other students. Help from the instructor or tutor is permitted). All the work that you turn in is expected to be your own. Both giving and receiving information about quizzes, projects, or test constitutes academic dishonesty. The penalty for academic dishonesty will be grade of F and dismissal from this course Working together on programming assignments is not permitted. However, helping a fellow student understand the intent of a specification is OK. Students who work together too closely together (e.g. designing their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to academic penalties. The homework, programs, and exams must be the work of the student turning them in. Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include: Copying solutions, code, or programs from someone else or giving someone else your solution, code, or programs. Getting help in debugging. (except from your instructor) Participating in a discussion group that develops a solution that everyone copies.
We urge everyone in the class to take appropriate measures for protecting one's work. You should protect your files, homework solutions sheets, etc as deemed reasonable. Studying for test together is permitted and encouraged. Please ask for advice if you are unsure about how to work together with your friend in a legal helpful manner It is always OK to "work together" with your instructor. Make-up Exam Policy: As a general rule, I do not give any makeup examination. Other Information: Please be aware that this course does have prerequisites and I must assume you have them. I won't be slowing down to teach something you are supposed to know. Class Participation. I expect you to ask questions about the assignments as well as about the material being covered during the lectures. I plan to give you some hands-on time during many of the class sessions. This is a good time for you to ask questions and make comments about any assignment. However, if you do not ask questions, I have no way of knowing what areas you may need some help on. You should also ask questions about items and topics you want to clarify. These questions and answers are going to be the best source of assignment feedback available to you. Reason is, there is no way that I can comment in detail on the individual assignments. If you do not ask questions, I am going to assume that you understand lectures, reading assignments, methods, etc. The remaining Standard Course information is available on line at: http://csci.hccs.edu/public/students/cdes/standard.htm Reading responsibility: C# Programming From Problem Analysis to Program Design Barbra Doyle Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Introduction to Computing Programming Your First C# Program Data Types and Expressions Method and Behaviors Making Decisions Repeating Instructions Arrays and Collections
Session 1 M1 August 30, 2010 Session 2 W1 September 1, 2010 lntroduction to Computing and Programming Chapter 1 History of Computers Physical Components of a Computer System Hardware Processor Storage Input and Output Devices Data Representation Bits Bytes Binary Numbering System Character Sets Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte... System and Application Software System Software Application Software Software Development Process Steps in the Program Development Process Programming Methodologies Structured Procedural Programming Object-Oriented Programming Evolution of C# and.net Programming Languages.NET Why C#? Labor Day September 6, 2010 Session 3 W2 September 8, 2010 Turn in Reading Quiz Chapter 1 Session 4 M3 September 13, 2010 Session 5W3 September 15, 2010 Session 6 M4 September 20, 2010 Your First C# Program Chapter 2 Types of Applications Developed with C# Web Applications Windows Applications Console Applications Exploring the First C# Program Elements of a C# Program Comments Using Directive Namespace Class Definition Main( ) Method Method Body-Statements
Installing the.net Framework Creating a Place to Store Your Work Typing Your Program Statements Compiling, Building, and Running an Application Compilation and Execution Process Compiling the Source Code Using Visual Studio IDE Debugging an Application Syntax Errors Run-time Errors Creating an Application Session 7 W4 September 22, 2010 Turn in Reading Quiz Chapter 2 Session 8 M5 September 27, 2010 Session 9 W5 September 29, 2010 Data Types and Expressions Chapter 3 Memory Locations for Data Variables Literal Values Identifiers Types, Classes, and Objects Types Classes Objects Primitive Predefined Value type Integral Data Types Floating-Point Types Decimal Types Boolean Variables Primitive Predefined Reference type Declaring Strings Making Data Constant Arithmetic Expressions Assignment Statements Basic Arithmetic Operations Increment and Decrement Operations Compound Operations Order of Operations Mixed Expressions Casts Formatting Output Session 10 M6 October 4, 2010 Turn in Reading Quiz Chapter 3 Session 11 W6 October 6, 2010 Session 12 M7 October 11, 2010 Session 13 W7 October 13, 2010
Methods and Behaviors Chapter 4 Anatomy of a Method Modifiers Return Type Method Name Parameters Method Body Calling Class Methods Predefined Methods Writing Your Own Class Methods Void Methods Value-Returning Method The Object Concept Private Member Data WritingYour Own Instance Methods Constructor Accessor Mutators Property Calling Instance Methods Calling the Constructor Calling Accessor and Mutator Methods Types of Parameters Session 14 M8 October 18, 2010 Turn in Reading Quiz Chapter 4 Review for Midterm Exam Session 15 W8 October 20, 2010 Midterm Exam Session 16 M9 October 25, 2010 Session 17 W9 October 27, 2010 Session 18 M10 November 1, 2010 Session 19 W10 November 3, 2010 Making Decisions Chapter 5 Boolean Expressions Boolean Results Conditional Expressions Equality, Relational, and Logical Tests Short-Circuit Evaluation Boolean Data Type If..else Selection Statements One-Way if Statement Two-Way if Statement
Nested if... else Statement Switch Selection Statements Ternary Operator exp? trueexp : Order of Operations Session 20 M11 November 8, 2010 Turn in Reading Quiz Chapter 5 Session 21 W11 November 10, 2010 Session 22 M12 November 15, 2010 Session 23 W12 November 17, 2010 Repeating Instructions Chapter 6 Why Use a Loop? Using the While Statement Counter-Controlled Loop Sentinel-Controlled Loop State-Controlled Loops Using the For Statement Loop Using the Foreach Statement Using the Do... while Structure Nested Loops Recursive Calls Unconditional Transfer of Control Continue Statement WITHDRAW DEADLINE November 18, 2010 4:30pm Session 24 M13 November 22, 2010 Turn in Reading Quiz Chapter 6 Session 25 W13 November 24, 2010 Session 26 M14 November 29, 2010 Session 27 W14 December 1, 2010 Arrays and Collections Chapter 7 Array Basics Array Declaration Array Initializers Array Access Sentinel-Controlled Access Using Foreach with Arrays Array Class Arrays as Method Parameters Pass by Reference Array Assignment Params Parameters Arrays in Classes Array of User-Defined Objects Arrays as Return Types Two-Dimensional Arrays
Rectangular Array Jagged Array Multidimensional Arrays ArrayList Class String Class Other Collection Classes Session 28 M15 December 6, 2010 Turn in Reading Quiz Chapter 7 Session 29 W15 December 8, 2010 Review for Final Session 30 W16 December 13, 2010 Final Exam