Quick Navigation

About Us

Mobile Device Programming

Contents

Press Releases

NIU's press release on the proposed Mobile Programming Certificate. More on Lextech here, too.

Overview

The Department of Computer Science has partnered with Lextech Global Services to offer a series of courses that teaches skills in one of the hottest new areas of computer programming. NIU's College of Liberal Arts and Sciences, the Provost's Office and Information Technology Services worked to develop a special smart classroom for the coursework, with each workspace equipped with both Apple and Microsoft computers. “App development is not the same as traditional computer programming,” says Dr. Nick Karonis, Chair of Computer Science. “And writing an app for an iPhone is a different task than writing an app for an Android—they speak different languages. Still, there are a number of issues that are common to all smartphones. I think the certificate program we’ve developed is unique in its comprehensive approach.”

The five-course program—with one course devoted to each of the three smartphones (iOS, Android, and Microsoft) and two comprehensive courses that cut across all devices—is offered as both an undergraduate certificate and as a graduate certificate. The department is investigating the potential for offering the certificate program online or at NIU outreach centers in Naperville, Hoffman Estates and Rockford in the future.

See the press release for further overview information, see below for further specifics on course offerings and how to apply for admission, or contact Dr. Jim Henry with specific questions: henry@cs.niu.edu, (815) 753-0378.

Application Process

Mobile Programming courses are open to CSCI graduate students and CSCI undergraduates who are declared computer science majors and have (or will have) successfully completed CSCI 241 with a grade of 'B' or better. Alumni, students from other majors, and people who are not currently NIU students will be given consideration only after current computer science majors are accommodated. A programming background is a prerequisite, such as a CSCI 241 equivalent (available at most community colleges). Do note that in order to take a course at NIU, you must first be admitted to NIU; undergraduates can see http://www.niu.edu/apply/index.shtml and graduate students can see http://www.grad.niu.edu/grad/apply/index.shtml for further information.

For further information or permission to enroll, contact Dr. Jim Henry henry@cs.niu.edu. If asking permission to enroll, please email from your Z-ID email and include the following information:

  1. Name.
  2. Graduate or Undergraduate status.
  3. Z-ID.
  4. Your expected graduation date if you are a computer science undergraduate or graduate student at NIU, or your programming background if not.
  5. Which of the course(s) you are interested in taking. If both course, indicate the courses in order of priority..
  6. Any experience you might have had in mobile programming (if any).
  7. If you have taken Java at NIU (for the Android course) with a grade of B or better.
  8. If you have taken .NET at NIU (for the Windows course) with a grade of B or better.

Catalog Descriptions for Mobile Programming Courses

CSCI 321: iOS Mobile Device Programming (4): Comprehensive introduction to building applications for mobile devices that use Apple's iOS operating system.  Topics covered will include application of Model-View-Controller design architecture, database and web services, graphics, multithreading, networking and interaction with hardware sensors. Extensive laboratory work. PRQ: CSCI 241 or consent of department.

CSCI 322: Android Mobile Device Programming (4): Android application programming including use of a standard integrated development environment, debugging, user interface creation, and multithreading and network applications. Students will be able to code, run, and debug a variety of applications using software emulators as well as tethered hardware devices. Extensive laboratory work. PRQ: CSCI 241 or consent of department.

CSCI 323: Windows Mobile Device Programming (4): Comprehensive introduction to building Microsoft phone applications. Includes extensive programming in C#. Technical topics include user interface design, navigation, debugging, hardware sensors and web services. Extensive laboratory work. PRQ: CSCI 241 or consent of department.

CSCI 427: Advanced Application Design for Mobile Devices (3): Principles of advanced application design for mobile devices. Focus on the application’s user experience and value to the user. Includes design principles for applications that are intended to run on multiple mobile device platforms. Includes extensive programming in Objective-C, Java, or C#. Extensive laboratory work. PRQ: Two of the following: CSCI 321, 322, or 323, or consent of department.

CSCI 428: Advanced Programming Topics for Mobile Devices (3): In-depth coverage of advanced topics in programming mobile devices. Topics include exception handling, memory and thread management, and external data portals. Design principles for applications that are intended to run on multiple mobile device platforms.  Includes extensive programming in Objective-C, Java, or C#. Extensive laboratory work. PRQ: Two of the following: CSCI 321, 322, or 323, or consent of department.

CSCI 521: iOS Mobile Device Programming (4): Comprehensive introduction to building applications for mobile devices that use Apple's iOS operating system.  Topics covered will include application of Model-View-Controller design architecture, database and web services, graphics, multithreading, networking and interaction with hardware sensors. Extensive laboratory work. This course may not be taken by students with undergraduate credit for CSCI 321. PRQ: Admission to the graduate program in computer science or consent of department.

CSCI 522: Android Mobile Device Programming (4): Android application programming including use of a standard integrated development environment, debugging, user interface creation, and multithreading and network applications. Students will be able to code, run, and debug a variety of applications using software emulators as well as tethered hardware devices. Extensive laboratory work. This course may not be taken by students with undergraduate credit for CSCI 322. PRQ: Admission to the graduate program in computer science or consent of department.

CSCI 523: Windows Mobile Device Programming (4): Comprehensive introduction to building Microsoft phone applications. Includes extensive programming in C#. Technical topics include user interface design, navigation, debugging, hardware sensors and web services. Extensive laboratory work. This course may not be taken by students with undergraduate credit for CSCI 323. PRQ: Admission to the graduate program in computer science or consent of department.

CSCI 627: Advanced Application Design for Mobile Devices (3): Focus on the application’s user experience and value to the user. Includes design principles for applications that are intended to run on multiple mobile device platforms. Includes extensive programming in Objective-C, Java, or C#. Extensive laboratory work. This course may not be taken by students with undergraduate credit for CSCI 427. PRQ: Two of the following: CSCI 521, CSCI 522, or CSCI 523, or consent of department

CSCI 628: Advanced Programming Topics for Mobile Devices (3): In-depth coverage of advanced topics in programming mobile devices. Topics include exception handling, memory and thread management, and external data portals. Design principles for applications that are intended to run on multiple mobile device platforms.  Includes extensive programming in Objective-C, Java, or C#. Extensive laboratory work. This course may not be taken by students with undergraduate credit for CSCI 428. PRQ: Two of the following: CSCI 521, CSCI 522, or CSCI 523, or consent of department.

Undergraduate and Graduate Certificates

The certificates aredesigned to provide study in programming mobile devices such as the iPhone, iPad, Droid phones, and Microsoft phones. The certificates are open to all undergraduate and graduate students who have satisfied the appropriate prerequisites. Students must maintain good academic standing in the university, achieve a minimum grade of C in each certificate course, and complete all certificate course work within six calendar years. All course requirements for the certificate must be completed at NIU. Depending upon a student’s prior programming background, successful completion of deficiency courses may be required before the student is allowed to enroll in any certificate courses. With department approval, some or all of the certificate courses may be applied toward undergraduate requirements in the department. The Department of Computer Science reserves the right to limit enrollment in any of the certificate courses. Students should consult with the undergraduate certificate advisor prior to registering for any courses.

Undergraduate Certificate Requirements(14 credit hours total)

  • Choose two (8 credit hours total):
    • CSCI 321: iOS Mobile Device Programming (4 credit hours)
    • CSCI 322: Android Mobile Device Programming (4 credit hours)
    • CSCI 323: Windows Mobile Device Programming (4 credit hours)
  • CSCI 427: Advanced Application Design for Mobile Devices (3 credit hours)
  • CSCI 428: Advanced Programming Topics for Mobile Devices (3 credit hours)

Graduate Certificate Requirements (14 credit hours total)

  • Choose two (8 credit hours total):
    • CSCI 521: iOS Mobile Device Programming (4 credit hours)
    • CSCI 522: Android Mobile Device Programming (4 credit hours)
    • CSCI 523: Windows Mobile Device Programming (4 credit hours)
  • CSCI 627: Advanced Application Design for Mobile Devices (3 credit hours)
  • CSCI 628: Advanced Programming Topics for Mobile Devices (3 credit hours)