Foundations I Syllabus
Introductory course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representaion, conditional and iterative statements, functions, arrays and records. Using C++ in a UNIX environment.
Computer Engineering Program Outcomes
Computer Science Program Outcomes
The goal of this class is to develop fundamental computer-based problem solving skills in the following three areas:
The pedagogical approach will be focused on solving problems using existing software modules (e.g., class libraries) and new modules when necessary. The syntax and semantics of programming language constructs will be introduced as needed in this context. Programmingassignments and their associated reports will be added to each student's programming portfolio. Labs will reinforce concepts taught in the lecture and also introduce students to the linux operating system.
Starting Out With C++ (Breif Version), Sixth Edition, 2010, by Tony Gaddis. Published by Addison Wesley.
Online notes covering the subset of C++ needed for this course can be found at http://www.csce.uark.edu/~sgauch/2004/notes/
Learning the Unix Operating System , Fifth Edition, 2002, by Peek, Todino-Gongquet, and Strang. Published by O'Reilly Press.
Final grades in this class will be determined by a weighted average of lab grades, programming project grades, quizzes, and exam scores. We will use the following scale to assign final grades:
Students must pass BOTH the homework portion of the class (labs and projects) AND the exam portion (midterms and final) with a grade of D or better in order to pass this course. Hence, an overall average greater than 60% may still result in a failure in some cases.
The grade will be calculated as follows:
Quizzes: There will be frequent, short, in-class quizzes. Each will be based on the lecture materail presented during the previous lecture.
Labs: There will be weekly laboratory assignments. Grades for the labs will be based on completeness, correctness, and effort. Although lab materials are available on the web and can be submitted electronically, students are required to attend labs. Lab attendance will be taken in the first 15 minutes of the lab, and students who are not present will lose 50% of their grade for that lab. Labs which are not completed in the lab time can be electronically submitted within 24 hours of lab time with no late penalty. Labs submitted after this time will NOT be accepted.
Programming Projects: There also will be 6-8 relatively large programming projects The programming projects will be graded according to the following scale:
Programming projects must be submitted electronically by midnight of the due date specified in the project description. Projects which are submitted within 24 hours of the due date will lose 10% of their grade. Projects will NOT be accepted beyond this 24 hour period. Partial credit will be given for programs which compile but which are not complete. Starting early on programming projects is strongly encouraged.
Students are allowed to discuss program design and other high level issues with each other. Students are also allowed to help each other understand specific compiler or run time error messages. However, unless otherwise specified, students are not allowed to work together on the homeworks. Copying all or part of another person's program is strictly prohibited and will result in a grade of zero and be reported to the CSCE head. Supplying printed or electronic copies of your homework to other classmates will also result in a grade of zero and be reported to the CSCE head.
Exams: There will be two exams in this class. One midterm exam and a comprehensive final. All exams will be closed book, but each student will be allowed a single 8.5 by 11 sheet of notes. Calculators will not be needed or allowed. Make up exams will only be allowed under exceptional circumstances (e.g., a note from your doctor).
The department, school and university have very strict guidelines regarding academic misconduct. Obviously, copying is not allowed on exams. Students are expected to submit their own work on individual programming projects. Lending or borrowing all or part of a program from another student is not allowed. Students ARE allowed to borrow and modify any code on this class web site in their labs or programming projects. Instances of cheating will result in a zero on the copied assignment/exam and the policy specified in the University of Arkansas Undergraduate Studies Catalog, Academic Regulations, Academic Dishonesty will be followed.