First Year of Computing
Computing heavily relies upon logic, problem solving and algorithmic thinking. To understand and practice these concepts, the first year of a computing student's studies focuses on learning and applying the fundamental ideas of programming. CCSE teaches 3 programming languages: Java, C# (pronounced 'Cee Sharp'), and C++ (only for Engineering/Engineering Technology majors).
DISCLAIMER: Please be aware that these descriptions are a combination of the 2020 catalog descriptions for the course as well as some input from the advising perspective. Students are expected to adhere to the content and expectations put forth through their course syllabus and instructor during the semester in which they take it. Course content is subject to change and this website may not be updated to reflect that.
CSE 1300 Introduction to Computing Principles
Course Description: This course is an introductory computing principles course. Instruction centers on an overview of the history, scope, and impact of computing as well as critical, algorithmic and computational thinking on problem decomposition and fundamental programming concepts.
Advisor's notes: CSE 1300 will introduce students to some programming concepts and a high level programming language. It is strongly recommended that students with no background in computing or programming begin with this course if you have free elective credit hours still required. Check DegreeWorks and talk with an advisor to confirm whether or not this class will count towards degree requirements.
CSE 1321 & CSE 1321L Programming & Problem Solving I
Course description: This course provides an introduction to computing with a focus on programming. Instruction centers on an overview of programming, problem-solving, and algorithm development. Particular topics include object-oriented design/programming, primitive data types, arithmetic and logical operators, selection and repetition structures, interactive user input, exception handling, using and designing basic classes, single-dimensional data structures with searching and sorting, and arrays. Programming assignments focus on techniques of good programming style including proper documentation. Students are taught to efficiently design, code, and debug problem solutions and the relationship between correct code and security.
Advisor's notes: This is the first course in all CCSE majors, and is critical in establishing an understanding of how computers "think". All CCSE students are expected to get a 'B' or better in both the lecture and lab for this course to continue with their major-related classes. The course is separated into a 3 credit hour lecture and a 1 credit hour lab. All sections of the lecture will approach programming from a language-neutral perspective to focus on the underlying programming concepts by which all programming languages function. The labs are the practical demonstration of the concepts presented in class. Each lab as a "flavor" of programming language - Java or C#. This course will go deeper into the concepts introduced in CSE 1300 to develop an even stronger understanding of logic, problem-solving and algorithmic thinking. Programming is extremely important to understand and be able to create/manipulate, as all current technology functions on some sort of software. Our graduates will be able to understand, design, develop and support this technology in industry.
CSE 1322 & CSE 1322L Programming & Problem Solving II
Course description: The second course in computing provides coverage of more advanced topics of object-oriented programming. This includes the use of static variables and classes, non-linear data structures, inheritance and polymorphism, file input/output, exception handling, recursion, and parameterized types. Elementary data structures (linked lists, stacks, and queues) are introduced to solve application problems. Graphical user interfaces, parallel programming, database programming, and event-driven programming are also introduced. Students will use good programming style including proper documentation.
Advisor's notes: The second course in the sequence which all CCSE majors will take, it continues on to more advanced programming concepts. All CCSE students are expected to get a 'B' or better in both the lecture and lab for this course to continue with their major-related classes. As with CSE 1321/L, the lecture is also language-neutral and the language options for the labs will be Java and C#. Students may either choose the same language for CSE 1322L as they chose for CSE 1321L, or may choose a different language. The concepts of programming and logic remain the same throughout all programming languages, so learning multiple languages is viable, although does take a little extra time. Knowing multiple programming languages opens more opportunities in industry.
Information provided according to Labor Insight platform by Burning Glass Technologies. Number of job postings requiring associated programming language in the metro area between 2015 and the last 12 months.
Tutorial Website: https://www.learnjavaonline.org/
- Also pretty easy to learn
- Object-oriented, lets you create reusable code
- Platform-independent, can run on any computer system
- Java is everywhere and has lots of job opportunities
- Android mobile development is done in Java
Tutorial Website: https://www.learncs.org/
- More complex
- Scalable, easy to maintain, and fast
- Unity Game Engine designed to run with C#
- Virtual and Augmented reality can be built with C# (game engines and usable on mobile platforms).
Site updated 11/3/2020