Unformatted text preview:

CSC 250 - COMPUTER SCIENCE THEORY AND PRACTICE I (FALL 2007)STUDENT SYLLABUS (Revised 8/30/2007).Class meets TR: 10:05-11:20, S118B.Instructor: Dr. Angus MenugeOffice: LU 205C, ext. 4249. Email: [email protected]: MW 2 – 3, TR 4-5. & by appointment.TEXTS:1) (NICP) A Natural Introduction to Programming With C#. Kari Laitinen.[Main course text for CSC250.]2) (MVCS) Microsoft Visual C# 2005 Express Edition: Build a Program Now! Patrice Pelland.[Explains Visual Studio environment, console programs and the basics ofGUI programming.]3) (CSAO) Computer Science: An Overview. Brookshear.[Curriculum text for CSC minor and major.]OBJECTIVES:On completion of this course, students:1. can solve problems in a structured, methodical manner;2. know how to represent their solutions in symbolic form;3. have a working knowledge of the fundamental control structures of programming languages and know which control structures are appropriate for which sorts of problem;4. can design solutions on paper and or/in their head before attempting to code them in a programming language;5. realize that the most important part of computer science is logical problem-solving, not thespecific implementation of the solution in a computer language or on a specific hardware platform;6. understand and apply sound programming methodology concerning program structure, style, documentation, modifiability and testability;7. know the history of and motivation for C# (and related languages), and can determine which applications are good candidates for implementation in the language and which are not;8. appreciate the importance of careful program testing and debugging;9. understand the concepts of abstraction and encapsulation;10. grasp the basic idea of the object oriented programming (OOP) paradigm;11. are familiar with both text-based programming and have some introductory exposure to the visual programming paradigm;12. have an introductory understanding of the difference between console programming and true windows programming;13. have a greater understanding of the role and responsibilities of the computer programmer with an emphasis on the application of Christian Ethics to technology;14. not only understand good programming practice but care about achieving it;15. are prepared to tackle the next class in the sequence, CSC300.ATTENDANCE.Attendance is expected at every class meeting. Absence will be excused only if (a) the instructor is informed, in writing, of the reason for the absence before the class meets, or in case of emergency, at the next class the student can attend; (b) the reason given is an acceptable one, according to the rules and guidelines of Concordia University Wisconsin. It is also unwise to miss classes, because later parts of the course build on earlier parts.LAB TIME.All students are expected to spend a reasonable amount of time, each week, experimentingwith the facilities and creating programs. As with physical exercise, working at a regular,steady pace is more effective than doing nothing until the last minute, then working in a panic!GRADING. You will be assessed as follows:Exams.2 mid-terms 30%.Final exam 20%.Programs 30%.Homeworks including assigned exercises in visual programming 10%.Written report. 10%. Why a written report?The written report is required because programmers must be able to communicate clearly and simply with other, non-technical managers and customers. I will ask you to explain, insimple English and in your own words, and with your own diagram(s), some important theoretical concept of computer programming. This is the theory part of your writing. In CSC300, you will have a similar assignment except this time it will concentrate on cutting edge developments in computer software: this will be the practice part of your writing.Why three texts?There are only two texts for this course (one is a standard text in C#, the other helps you with the Visual Studio environment); however, any student intending to do the CSC minoror major should also obtain the Brookshear text, Computer Science an Overview. This book provides a good overview of the entire curriculum and gives clear explanations and definitions of computer-related terms and concepts in plain English. It is not a “technical book,” like the textbook for this course: it is a concepts book. We believe it is very important that students understand what is going on in computer science, and do not just have practical skills.PROGRAMS.When it comes time to develop your own programs, you may certainly discuss the ideas involved with other class members, but you must not share or copy code. So doing will result in a failing grade for that assignment both for the copier and the person who permitted the copying. Unless an adequate excuse is given, late programs will be penalized for each day they are late, and will not be accepted at all after one week has elapsed since the due date. Normally, no work will be accepted after the date and time of the final exam.2HOMEWORKS.While the programs focus on mastering the basic “toolkit” (control structures of the C# language), the student should also do some conceptual problem-solving and become aware of the use of visual programming techniques which are used for the rapid development of GUI programs. GROUP ACTIVITIES.While copying is unacceptable, I will ensure that some group activities occur inside the classroom. I will sometimes use a class problem-solving format, where it is possible for students to study a "hands-on" problem together and to propose, discuss and critique various solutions. Realize that students wasting time during hands on exercises leads to a suspension of such exercises and additional, extra-boring (can it be imagined?) lectures.DESIGN EMPHASIS.The emphasis of this course is the careful design of algorithmic solutions -- much of whichis done “in the head” and “on paper,” rather than while staring at a CRT. Logical thinking and design, rather than a random trial-and-error method are what I want you to learn. Theresults should be clear in well-organized, well-documented programs, and the ability to solve programming problems without a computer, under test conditions.GENERAL.If ideas in this class seem unclear, or you want to explore them in more depth, do not hesitate to come to office hours. I am also willing to spend extra time with you in the lab if you need help and you are making a serious


View Full Document

CUW CSC 250 - SYLLABUS

Download SYLLABUS
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view SYLLABUS and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view SYLLABUS 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?