Welcome to ITSE 1330
About the Course
This is an introductory course in computer programming using C#. While there are no official course prerequisites, general computing skills are essential. For instance, students should be proficient with directory navigation, file creation/deletion/moving/copying, text editing, and basic numerical calculations. Unless you have considerable programming experience, this course will likely require a significant amount of time and effort. Students should budget 5-10 hours per week to study the material and complete the assignments. Naturally, time requirements are influenced by a variety of factors such as previous experience, skills, and exposure to technical academic work. 5-10 hours is only an estimate and considerably more time may be required.
I recommend the following approach when working through the text descriptions and code in the course. If possible, it is extremely beneficial for a software developer to use multiple monitors. Given the relatively low cost of sufficient monitors and a dual-monitor video card, the benefits are well worth the professional investment. First, open the chapter text explanations in the left monitor. Then, in the same chapter, scroll to the code in the right monitor. If you cannot use two monitors, then open two vertical windows on the same monitor. Be sure to code the projects as described in the chapter examples.
C# is a member of the 'C family' of languages which includes C, C++, Java, Perl, Python, and PHP. Anders Hejlsberg, C#'s principal designer and lead architect at Microsoft, has stated that C# is most closely aligned with C++. Like C++, C# is strongly typed which means that variables must be declared before use and variables can only contain values of their declared type. The first version of C# was released by Microsoft with the introduction of the .NET framework in Dec2002. The language is actively maintained and new versions are released approximately every 18-24 months.
In this course we will begin with simple examples of C# which we will write with a basic text editor and execute in a command window like shown below. Certainly, the majority of C# applications are written using Visual Studio and produce graphical user interface (GUI) applications or web sites. Although, by starting with the basics, we obtain a more comprehensive foundation and an appreciation for the more powerful tools.
While C# can be used for a variety of development tasks, it is primarily used for two purposes: Windows applications and the server-side component of ASP.NET web sites. In this course, we only consider writing code to target Windows personal computers since there is more than an adequate supply of material with that subject.
Student Success Factors
Student Success Factors are the components required for success in this course.
- Quality Content - The material on this site supplies all of the information required to complete the assignments. In addition to this site, the vast information provided by online sources is also extremely valuable, especially in those situations when a student wants to exceed assignment requirements and go beyond course material.
- Prior Preparation - While there are no official prerequisites for the course, the student should be comfortable with general personal computing concepts such as file/folder management, word processing, and website navigation.
- Time Commitment - The student must have sufficient time to study the material and complete the assignments. Naturally, the time required will depend upon each student's current skills and previous experience. A reasonable approximation is that somewhere between 5-10 hours per week will be necessary for success.
- Following Directions - Computing is an engineering discipline and as such, detailed written instructions are customarily supplied to specify program requirements. Therefore, it is imperative that students read the specifications carefully and implement them completely and correctly in code. Read with discernment to understand and apply course information and instructions correctly.
- Motivation to Succeed - This is the most important of the student success factors. If the student has basic computing skills and the time to complete the course work, then success depends on the student's desire to succeed. There will be challenges such as software incompatibilities, inexplicable code errors, system errors unrelated to assignments, hardware crashes, data loss, other time responsibilities, etc. However, through it all, if the student wants to acquire the knowledge and skills offered by the course, then success is essentially guaranteed.