Miami University School of Engineering and Applied Science Department of Computer and Information Technology COURSE SYLLABUS CSE163 – Introduction to Computer Concepts and Programming Catalog Description: Introduction to computers in data processing, survey of various hardware and software concepts, and analysis and solution of problems by computer programming. Lecture/laboratory, project-oriented course to provide numerous opportunities to analyze problems, formulate alternative solutions, implement solutions, and assess their effectiveness. No prior knowledge of computer concepts or programming assumed. Prerequisite: You must have successfully completed MTH102 (or the equivalent of high school algebra) before taking this course. Texts: Shelly & Hoisington. Visual Basic 2008 Comprehensive for Windows, Mobile, Web, Office, and Database Applications, Thompson Course Technology, Boston, MA. Lecture Notes. (located on Blackboard website) Learning Outcomes The following table contains the learning outcomes for this course. Miami Plan foundation courses and thematic sequence courses address some or all of the Four Principles of Liberal Education: Thinking Critically, Understanding Contexts, Engaging with Other Learners, and Reflecting and Acting. These principles are not simply additional "topics" that are covered during the course. Rather, they are perspectives and ways of reasoning that are essential to all the content of the course. Learning outcomes that address these principles are indicated in the table. Key: T=Thinking Critically, U=Understanding Contexts E=Engaging with Other Learners, R=Reflecting and Acting Liberal Education Principles Learning Outcome CSE163.1: To be able to gain an understanding of fundamental concepts in programming CSE163.1.1. The student can describe fundamental computer hardware and software concepts CSE163.1.2. The student can differentiate among various data elements, and structures, and their associated data types. CSE163.1.3. The student can correlate program requirements with event-driven programming constructs, such as classes, objects, methods, and events. U CSE163.2: To be able to write programs in Visual Basic CSE163.2.1. The student can write programs in Visual Basic employing sequence, selection, and repetition structures CSE163.2.2. The student can implement modular design/decomposition in solving complex problems CSE163.2.3. The student can develop formulas and algorithms that are well structured, robust, reliable, and amenable to implementation in a Visual Basic computer program. T,U Page 1 Liberal Education Principles Learning Outcome CSE163.2.4. The student can demonstrate the use of String processing methods CSE163.2.5. The student can write sequential file processing programs CSE163.2.6. The student can select appropriate data types and structures to represent the realworld context of a programming problem CSE163.2.7. In designing a program, the student can implement design specifications including usability, scalability, speed, and efficiency issues CSE163.3: To be able to be able to apply problem solving in programming CSE163.3.1. The student can use program design tools in problem solving CSE163.3.2. The student can identify and resolve syntax, logic, and run-time errors T CSE163.4: To be able to develop user-friendly programs CSE163.4.1. The student can write menu-driven programs CSE163.4.2. The student can implement multimedia features in a program CSE163.5: To work cooperatively with other programmers CSE163.5.1. The student can work as part of a team to analyze a given problem, propose and compare potential software solutions to the problem, and implement the chosen solution CSE163.6: To use and design computer programs in real-world contexts CSE163.6.1. The student can explain ways in which computer software is or may be used to solve a problem related to your major field of study. CSE163.6.2. The student can use feedback collected from users of a program to make improvements to that program. CSE163.6.3. The student can describe ethical standards associated with software development. CSE163.6.4. The student can write documentation that explains to others how to use a program. E U,R Class Structure: The class sessions will take a variety of forms, including lecture, discussion, laboratory experience, working with other students in groups, and taking tests. Your participation in the form of questions and discussion is necessary in order to provide effective class sessions. Assignments: Programming Assignments There will be approximately 6 programming assignments. These assignments are essential to your learning. You will complete some programming assignments independently. For some programming assignments, you will be working in pairs and using the concept of “pairprogramming.” I will clearly indicate whether a specific programming assignment is an independent assignment or a pair programming assignment. Communication Assignments Communication is an important component of this course and a career in the computing field. In the past, I often associated communication with writing alone. I have learned that communication includes not only writing but also speaking, listening, working in groups, and understanding differences. You will be required to write papers covering various topics. Specific requirements for these papers will be given as the semester progresses. The papers must be typed using complete sentences, correct sentence structure, and be grammatically correct to receive full credit. Page 2 During the semester, you will participate in many group exercises to create solutions to problems. You will also explore the ideas of different personality types and ways of learning and how these differences affect the types of programs you create. At the end of the semester, you will demonstrate a final project to the class so that you may have the experience of running a program in front of an audience. Computer Concepts Short Papers: Rather than having you listen to (boring!) lectures on various computer concepts, you will write short papers (1-2 paragraphs) on the assigned topics. Laboratories: This course includes a very important lab component. Approximately 25-30% of class time will be spent on lab experiences. Labs will be graded according to the following criteria: Points 0 1 2-3 4-5 Performance nothing accomplished or did not attend lab (F) minimal accomplishments and responses (D) acceptable accomplishments and responses (B/C) excellent accomplishments and responses (A) Laboratories are always due at the beginning of class on the first class meeting following the laboratory. Lab exercises do not need to be placed in a folder. Exams: There will be a total of two exams and a comprehensive final. Any exam missed will count as a zero unless arrangements have been made prior to the day of exams. No make up exams will be offered. Instead, in the case of university approved absences, the final exam grade will be substituted for the missed exam. Grading: A combination of exams, programming assignments, communication assignments, quizzes, labs, and a comprehensive final exam will determine the grade in this class. You can earn a total of 1000 points in this class. The number of points (and the percentage of the final grade) are included in the following table: Exam 1 Exam 2 Programming Assignments Communication Assignments Computer Concepts Short Papers Labs Final Exam Percentage of Grade 12.5% 12.5% 25% 10% 10% 5% 25% Number of Points 125 125 250 100 100 50 250 In determining the final grade, the following grading scale is used: FINAL GRADE FINAL GRADE A+ 970-1000 pts A 920-970 pts A- 900-920 pts C+ 770-800 pts C 720-770 pts C- 700-720 pts Page 3 B+ 870-900 pts B 820-870 pts B- 800-820 pts D+ 670-700 pts D 620-670 pts D- 600-620 pts F 0-600 pts Tentative Class Schedule: Week 1 Topic Intro to Course, Computers, and VB 2008 Intro to VB 2008, Designing VB Interfaces VB 2008 Text Chapter 1 Chapter 1, 2 2 Designing VB Interfaces, Program Design and Coding Program Design and Coding Chapter 2, 3 3 Variables, Types, and Arithmetic Variables, Types, and Arithmetic Chapter 4 Chapter 4 4 Variables, Types, and Arithmetic Variables, Types, and Arithmetic Variables, Types, and Arithmetic Making Decisions Chapter 4 Chapter 4 Chapter 4 Chapter 5 6 Making Decisions Exam 1 Chapter 5 7 Making Decisions Making Decisions Chapter 5 Chapter 5 8 Making Decisions Loops Loops Loops Loops Loops Chapter 5 Chapter 6 Chapter 6 Chapter 6 Chapter 6 Chapter 6 11 Sub Procedures and Functions Parts of Chapter 8 12 Sub Procedures and Functions Sub Procedures and Functions Sub Procedures and Functions Parts of Chapter 8 Parts of Chapter 8 Parts of Chapter 8 Arrays and Procedures Exam 2 Arrays and Procedures Arrays and Procedures Parts of Chapter 9 Arrays and Procedures Arrays and Procedures Final Projects Final Projects Parts of Chapter 9 Parts of Chapter 9 5 9 10 13 14 15 16 17 Chapter 3 Parts of Chapter 9 Parts of Chapter 9 Final Exam Page 4