Anda di halaman 1dari 5

Proposal to Create a Beginners Manual to Programming in C for Students New to Programming

Executive Summary
Computer science students of UNT have struggled greatly in the course CSCE 1030, causing many to drop the course. Although some of these students do retake the course, many students change their major from computer science due to the classs difficulty. This lowers the number of possible UNT computer science major graduates, which in turn decreases the amount of funding that the UNT College of Engineering receives annually. I am proposing a manual that will aid students who are taking the course CSCE 1030. This manual will cover each of the main concepts and functions that are covered in the course. Each point will have an explanation as well as examples of code in which the concept or function is utilized. I can complete a draft of the manual by April 21. If you are satisfied with the manual, I will have the final draft of the manual by April 23. The total cost for the manual, including the price of labor, binding, and printing costs, is estimated to be about $926.99. However, I am willing to donate the labor put into the creation of the manual, which reduces the cost of the manual to $126.99.

Problem Definition
As a student who recently completed CSCE 1030, I witnessed firsthand the shockingly large dropout rate that commonly occurs in the course. In my section of CSCE 1030, the class size decreased to little more than 50% of its original size by the end of the semester. This course is intended to simply introduce prospect computer science engineers to the basics of programming in C. Thusly, this class covers only the fundamentals of programming; yet, many students cannot succeed in the course. Having such high levels of dropout rates in such a foundational class is detrimental to the number of computer science graduates at UNT. Due to the large subject matter that is included in the course, the professors are forced to present great amounts of new information to the students in a small amount of time. Consequently, professors tend to unintentionally explain new concepts or functions too quickly for students to understand completely. Additionally, students often complained that the professors spent too much time explaining easily understood concepts and not enough on the more challenging concepts. Appropriately, the students had a very difficult time completing labs and homework and doing well on quizzes and tests. This eventually causes many students to fail the course entirely, motivating many students to retake the course or drop the major entirely. The purpose of this manual is to meet the learning needs of new programmers, give further explanations and examples of concepts, emphasize on the more challenging material, and act as a reference to the reader as they study the fundamentals of programming in C. Although the manual is specifically aimed at mentoring students of UNTs CSCE 1030 course, the manual will

also be useful to anyone wishing to learn the basics of programming in C. In relation to the CSCE 1030 course, when a student is having a hard time understanding a specific concept, they can refer to the manuals explanation. The professors are, understandably, well-versed and highly experienced professionals. In some situations, this makes it difficult for the professor to recognize how detailed yet simplistic they must be in the explanation of new concepts. Thusly, the manual will be written in oversimplified, easily understood terms along with many visual examples of implementations for each concept.

Problem Solution
The manual will be aimed specifically at students who are new to the programming world and may not have much, if any, previous experience on the subject. However, those who are not enrolled in CSCE 1030, or an equivalent course, but wish to learn the basics of C programming will be able to learn the basics of C from this manual as well. The manual will explain each concept and function in C programming that is covered in CSCE 1030. Each concept and function will have examples of implementations and visual aids (for the difficult concepts) that the reader can refer to when studying or working on a program. Engineering professors typically use complicated scientific terms that, although relevant and necessary in the class, usually confuse students who are unfamiliar with the terminology. Thusly, as previously stated, the manual will contain very simple language, with key terms explicitly defined, that the reader will be able to easily understand. This alone will sharply reduce the students struggle in the course. The manual will include the following sections: 1. Variables in C a. Basic types b. Variable declaration c. Variable scope d. Type conversion e. typedef 2. Basic Input/Output a. printf b. scanf c. getchar d. putchar 3. C Preprocessor a. #include b. #define 4. Arithmetic Operators a. Addition, subtraction, division, multiplication b. Compound assignment operator c. Increment and decrement 5. Comparison Operators a. Equal to b. Less than/less than or equal to c. Greater than/greater than or equal to

6. Logical Operators a. And b. Or c. Not 7. Conditionals a. if, else if, and else statements b. ? operator c. switch statements 8. Loops a. for loops b. while loops c. do-while loops d. break e. continue 9. Arrays a. single dimensional arrays b. multi-dimensional arrays 10. Strings a. strlen b. strcmp c. strcat d. strcpy e. gets f. puts 11. Functions a. Calling function b. Command line arguments c. Function prototypes d. Function parameters e. Function return values f. Multiple files 12. Other Data Structures a. Structures b. Unions 13. Pointers a. Pointers and variables b. Pointers and single dimensional arrays c. Pointers and multi-dimensional arrays d. Pointers and strings e. Pointers and functions f. Pointers and structures e. Pointers and unions 14. File Input/Output a. Opening/closing files b. File handles c. fprintf

d. fscanf 15. Dynamic Memory Allocation a. sizeof b. malloc c. calloc d. realloc e. free

Qualifications
I took CSCE 1030 at UNT last semester (Fall of 2013). Therefore, I have recently experienced the difficulty of the course myself; consequently, the challenges I faced with my peers are fresh and easily recallable, which allows me to accurately focus my manual on the points that the students greatly struggle with. I passed the course with a high A and deeply enjoyed the course. As I further my computer science education, I continue to take courses that utilize what I have learned in CSCE 1030. I constantly use the functions and concepts taught in the course; consequently, I am very confident in my knowledge of the implementation and definition of the points introduced in the course. I am also in Technical Communications 2700, having already completed Technical Communications 1700, and highly capable of creating a manual for public use.

Cost Estimate
The following table reflects the estimated cost of writing and printing the manual:

Tasks
Writing and Editing the Manual Binding Costs Printing Costs Total Cost

Quantity
100 hours at $8.00 per hour 1 manual 250 pages at $0.49 per page (front and back) ________

Cost
$800.00 $4.49 $122.50 $926.99

I would not be able to construct this manual if it had not been for the wonderful instruction of my engineering professors and TAs. I would like to donate my time (the Writing and Editing the Manual factor) put into the manual to show my appreciation for the UNT College of Engineering program. This reduces the cost of the manual to just the $126.99 needed for the actual printing and assembly of the manual. The projected cost for this manual is merely a rough estimate. As the manual has yet to be completed, the number of pages the manual will be is unknown. Therefore, the final cost may vary from the price given above.

Conclusion
I am excited about the possibility of sharing this useful manual for future students. This manual will encourage and aid students through the difficulties of learning such a challenging new concept. I would deeply enjoy the opportunity to discuss this proposal with you at your convenience. Please email me at shannonhart@my.unt.edu or call or text me at 817-308-4859.

Anda mungkin juga menyukai