CS G102: Computer Software Development, Introduction
Item | Value |
---|---|
Curriculum Committee Approval Date | 04/16/2002 |
Top Code | 070700 - Computer Software Development |
Units | 3 Total Units |
Hours | 90 Total Hours (Lecture Hours 36; Lab Hours 54) |
Total Outside of Class Hours | 0 |
Course Credit Status | Credit: Degree Applicable (D) |
Material Fee | No |
Basic Skills | Not Basic Skills (N) |
Repeatable | No |
Grading Policy | Standard Letter (S),
|
Course Description
This course will introduce students to the basic principles of computers and software development. Computer architecture concepts and principles of operation, operating systems basics, file management, and software development principles will be discussed, demonstrated and practiced. Common programming languages, including Java, C, C++, and Python will be discussed and small programs in each language will be written. ADVISORY: Course taught at the level of intermediate algebra or appropriate math placement. Transfer Credit: CSU.
Course Level Student Learning Outcome(s)
- Course Outcomes
- Utilize the basic functional building blocks of operating systems.
- Create programs using different languages.
- Describe the fundamentals of a computer system.
Course Objectives
- 1. Understand the fundamentals of computer architecture.
- 2. Describe the basic building blocks of operating systems.
- 3. Demonstrate knowledge of file management techniques.
- 4. Compare and contrast common software development methodology.
- 5. Describe the differences between the common programming languages.
- 6. Application development methodology .
- 7. Effectively utilize popular software development tools.
- 8. Program simple algorithms and applications·
- 9. Describe the fundamentals of computer networking.
- 10. Understand and utilize the Internet and the World Wide Web.
Lecture Content
Basics of computer architecture and operation. RAM (Random Access Memory), ROM (Read Only Memory), CPU (Central Processing Unit), storage units, etc. Memory models and related performance characteristics Application execution and data flow Basics of computer operating systems. File management techniques and associated software Microsoft Office applications will be briefly discussed and used to emphasize software application basics. Basics of computer networking Internet, World Wide Web, and various tools and services will be discussed as related to computer science. Software development tools and methodologies will be discussed and practiced to include: Overview of common programming languages Source code comparison Compilers and compilation tools Optimizers Linkers Run time engines Libraries Modularization Components Services Basics of computer application development concepts Program flow and data representation Branching Looping Arrays Strings Pointers Computer programming will be discussed, demonstrated and practiced in various languages to include C, C++, Java, and Visual Basic.
Lab Content
Software Development Lyfe Cycle (SDLC) Waterfall, spiral, incremental models Agile development Development Tools (IDEs) Open source vs. propietary Programming Concepts Branching Looping Arrays Strings Pointers Computer programming will be demonstrated and practiced in various languages to include C, C++, Java, and Visual Basic. Internet and Web Development Concepts Browsers HTML, CSS, JavaScript ASP.NET, PHP Databases
Method(s) of Instruction
- Lecture (02)
- DE Live Online Lecture (02S)
- DE Online Lecture (02X)
- Lab (04)
- DE Live Online Lab (04S)
- DE Online Lab (04X)
Instructional Techniques
Lecture Assigned online reading Lab practicum
Reading Assignments
Students will be assigned multiple chapters from the required books. External material will be made known to students to encourage further studies into specific topics.Various current (up-to-date) handouts will be made available to students on computer system, programming languages, operating systems, Internet technologies, and networking principles. Handouts will be available online for students to download.
Writing Assignments
Students will be required to complete computer operation and introductory computer programming projects presented to them in the form of business automation problems requiring solution implementation. Students will be required to write documentation on their projects.
Out-of-class Assignments
An optional library research paper will promote further study and research in current Component Programming or other related topics selected by the student and approved by the instructor.
Demonstration of Critical Thinking
Students will be demonstrating their laboratory projects. Optional research papers and classroom presentations will further demonstrate their ability in critical thinking and problem solving.
Required Writing, Problem Solving, Skills Demonstration
Students will be required to complete computer operation and introductory computer programming projects presented to them in the form of business automation problems requiring solution implementation. Students will be required to write documentation on their projects.
Eligible Disciplines
Computer science: Masters degree in computer science or computer engineering OR bachelors degree in either of the above AND masters degree in mathematics, cybernetics, business administration, accounting or engineering OR bachelors degree in engineering AND masters degree in cybernetics, engineering mathematics, or business administration OR bachelors degree in mathematics AND masters degree in cybernetics, engineering mathematics, or business administration OR bachelors degree in any of the above AND a masters degree in information science, computer information systems, or information systems OR the equivalent. Note: Courses in the use of computer programs for application to a particular discipline may be classified, for the minimum qualification purposes, under the discipline of the application. Masters degree required.
Textbooks Resources
1. Required Venit, S., Drake E.. Prelude to Programming, 6th ed. Pearson, 2015
Other Resources
1. A syllabus and multiple reference material related to the latest technologies in the computing field will be shared by the instructor.