Software Development

Current and proposed courses

  • For majors:
    1. CNIT 141 Internet Foundations, Technologies, and Development
    2. CNIT 155 Introduction to Object-Oriented Programming
    3. CNIT 255 Programming for the Internet
    4. CNIT 295/350 Object-Oriented Programming
    5. CNIT 355 Software Development for Mobile Computers
    6. CNIT 405/581Y Software Development Methodologies
    7. CNIT 450 Enterprise Application Development
    8. CNIT 465 Senior Software Development Project
  • Service courses:
    1. CNIT 105 Introduction to C Programming
    2. CNIT 175 Visual Programming

Contact: Prof. Kyle Lutes

List of objectives

  • Give students a solid foundation of computer programming fundamentals.
  • Where possible, require team projects to help students build team communication skills.
  • Give majors early exposure to Object-Oriented Programming principals.
  • Give majors early exposure to Internet technologies and Internet application development.
  • Give majors early exposure to relational databases and Structured Query Language (SQL).
  • In addition to teaching theories, give students programming exercises that require students to use these theories to solve real-world, business-oriented problems.
  • Expose students to heterogeneous architectures and development environments and tools (i.e. C#, Java, Unix, Windows, etc.)
  • Teach courses using technologies as how they are currently being used in industry.
  • Design required programming courses based on the concepts to be learned rather than based on how to use specific products.
  • Include selective (elective) software development courses to allow students to get experience using an even wider variety of technologies.
  • Teach introductory topics in introductory courses and advanced topics in advanced courses.
  • Teach the introductory courses in a manner that gives the students the opportunity to see that developing software can be rewarding and fun, and that most interested students have the ability to become professional software developers.
  • At the end of each course, students should have learned a skill that is immediately useful. Example:
    • At the end of the Internet literacy course (CNIT 141), students should be able to develop web sites consisting of static HTML pages.
    • At the end of the first programming course (CNIT 155), students should be able to develop simple, but useful Windows applications.
    • At the end of the second programming course (CNIT 255), students should be able to develop dynamic, data-driven web applications.
    • At the end of the third programming course (CNIT 350) students should be able to develop data-driven, dynamic web applications using medium to advance object-oriented techniques.
    • At the end of the fourth programming course (CNIT 450) students should be able to develop large, data-driven, multi-user, multi-tiered, component based, dynamic web applications using an object-oriented programming language.