This course serves as an introductory triggering class for students who are majoring in MIS (Management Information Systems). Students need to learn to be architects to solve real-world problems by developing software. Related programming concepts, tools, and background knowledge will be covered in the class.
Note this course is designed for MIS students who are in their first year of college. Due to limited seats in the computer classroom, only MIS students (including double major) are allowed to enroll this class.
Description: First programming course for MIS majors, designed for students with little or no programming expe-rience. Emphasizes basic principles and concepts of object-oriented programming using JAVA. Top-ics include classes, interfaces, operators, program control, arrays, testing, debugging, inheritance, and polymorphism; Techniques for simplifying the programming process and improving code quality; Features activity-based learning with ample opportunities to implement interesting programs.
Keys to success: Success is much more dependent on personal discipline than programming experience or raw intellect. There is a high probability of earning a B or higher if you do the following: Approach the course with the attitude and work ethic of an IT professional; Prepare for and attend every class; Start assignments early and fulfill all requirements. You should allocate 10 hrs/week for this course!
-/-: We have a forum (https://groups.google.com/g/nccu-mis-prog) for this class. If you have any questions (e.g., enrollment, homework, project, ...), please post your question directly in the forum. TA and I will respond later.
-/-: For the students who have to enroll in this class, please come to the classroom with your enrollment document on 9/8 and 9/9. We will check how many seats are available for the additional students.
-/-: Homework password!
Students MUST attend the class in -/- to get their (hardcopy) password for homework submission. You are NOT allowed to get the password for somebody else. Students who are not listed in the class enrollment list officially MUST get the password directly from Prof. Hsiao.
Instructor: Shun-Wen Hsiao, NCCU MIS Dept., <hsiaom at nccu.edu.tw>
Lecture and Lab:
306049001: Lecture Monday 56 (14:10~16:00) + Lab Monday 7 (16:10 -17:00)
306049011: Lecture Tuesday 23 (9:10~11:00) + Lab Tuesday 4 (11:10 -12:00)
Classroom: NCCU Yi Xian Building 5F (逸仙樓)
TA: TBA at g.nccu.edu.tw
Homework Submission: http://hsiaom.nccu.edu.tw:8888/
Office Hours: By appointment.
Introduce fundamental programming concepts: This includes core ideas like algorithms, data structures, and problem-solving methodologies.
Develop programming proficiency: Students should gain practical skills in writing, testing, and debugging code using a chosen programming language.
Foster computational thinking: Cultivate the ability to break down complex problems into smaller, manageable steps and express solutions in a logical and algorithmic manner.
Build a solid foundation: Prepare students for more advanced computer science courses and future careers in software development or related fields.
Understand and apply basic programming constructs:
Variables, data types (integers, floats, strings, booleans)
Operators (arithmetic, comparison, logical)
Control flow (if-else statements, loops - for, while)
Functions (defining, calling, passing arguments)
Work with data structures:
Arrays (one-dimensional, multi-dimensional)
Strings (manipulation, operations)
Implement problem-solving algorithms
Develop and test programs:
Write well-structured, readable, and efficient code
Use debugging techniques to identify and fix errors
Test programs thoroughly to ensure correctness and robustness
Communicate programming concepts:
Explain programming concepts and solutions to others clearly and effectively
Document code using appropriate comments and style guidelines
TBA
TBA
Big Java, Cay Horstmann.
Head First Java, 3rd Edition, by Kathy Sierra, Bert Bates, Trisha Gee Released May 2022 Publisher(s): O'Reilly Media, Inc. ISBN: 9781491910771
Fall
Assignment (40%): programming exercises and essays. You MUST see the ACADEMIC INTEGRITY section before taking this class.
Exams (60%)
Spring
Assignment (45%): programming exercises and essays. You MUST see the ACADEMIC INTEGRITY section before taking this class.
Project (15%): student needs to demonstrate their programming skill. A proposal, a report, a presentation, and GitHub codes are required.
Exams (40%)
The Problem Solving Through Inquiry and Data Analysis rubric can be found here. You SHOULD read it carefully before submitting your first homework. It allows you to know exactly the way in which you will be assessed, it is helpful in facilitating academic integrity.
Plagiarism is a serious breach of academic trust. In academic work, our words, ideas and programs are the value of our work, so turning in someone else’s work as if it were your own is a form of theft. When you use someone else’s words, ideas, or programs without crediting the source or authorship of those words, ideas, and program, you are plagiarizing. So here’s the bottom line: original work only, credit to ideas, writing, words, or programs from someone other than you. Plagiarized work will automatically receive a “0” or “F” for the assignment.
Since cheating usually arises out of desperation and everyone has an occasional problem and finishes their work late, this class accepts late homework submission, but with a 15% per day penalty. We encourage you to complete your homework rather than drop it. Any oral discussion with classmates, TA and lecturer are welcomed, but you MUST NOT share any of your code in any form.