Lecturer: Programming / Software Engineering - Belgium Campus, Pretoria North

  • Pretoria North
  • Salary: Market Related
  • Bonus: Performance based bonus
  • Job Type: Permanent
  • Sectors: Education, Academic
  • Posted by Belgium Campus on Friday, November 15, 2019
  • Reference: BC Pretoria
  • Apply before Tuesday, January 14, 2020 - 38 Days left

Vacancy Details

Employer: Belgium Campus

 

Lecturing: lecture planning, preparation, research and lecturing of subject material.

Lecturing: Contact and teaching time with students, to transfer knowledge including practical skills, methods and techniques.

Assessment: Setting, marking, moderating and invigilating of examinations, assessments and assignments.

Participation of subject portfolios, including curriculum development/innovation and research; development and application of innovative and appropriate teaching techniques and materials; reviewing course content and materials regularly, updating when required.

Participation of final projects portfolios, including lecture planning, preparation, research, marking and moderating of material.

Participation of thesis portfolios, including lecture planning, preparation, research, marking and moderating of material.

Participation of in-service training portfolios, including lecture planning, preparation, research, marking and moderating of material.

Participation of innovation and leadership portfolios, including lecture planning, preparation, research, marking and moderating of material.

Participation of staff development portfolios, including contact and teaching time with colleagues, to transfer knowledge including practical skills, methods and techniques.

Assisting in personal development through tutorial work.

Attending staff, team meetings and training.

 


Required Skills

  • c# : 4 to 5 years
  • java : 4 to 5 years
  • mysql : 1 to 2 years
  • sql : 1 to 2 years
  • python : 1 to 2 years

Candidate Requirements

Relevant Masters Degree in computer science or ICT field.

5+ years of software development or programming experience.

In-depth understanding of C#, Java and Python.

A thorough understanding of computer science fundamentals, including object-orientated design and data structures and algorithms.

A thorough understanding of programming, including built-in and abstract data types, parameterised methods, enumeration, collections, procedures, application programming interfaces, and libraries.

A thorough understanding of object-orientated programming, including classes, objects, methods, messages, classification, generalization, specialization, inheritance, interfaces, inner classes, polymorphism, abstraction, events, delegates, concurrency and exception handling.

A thorough understanding of programming, including advanced file I/O, advanced ADO.NET application and version control with Git.

A thorough understanding of software engineering, including software development lifecycle; modelling, abstraction, standards, and specification; systems and architecture; layering and separation of concern.

A thorough understanding of software engineering, including application layering; the data layer; databases; data topologies; relational databases; data normalisation (0NF, 1NF, 2NF, 3NF, 3½NF); distributed heterogeneous data stores; transactions; database integrity rules; logs and journals; coordinators and participants.

A thorough understanding of software engineering, including the data access layer, data access technologies, data providers, dataset components; the user interface layer, graphical user interfaces, data binding in UI components, rich vs. thin clients, interfaces and channels.

A thorough understanding of software engineering, including business logic, business rules, inference engines, backward vs. forward chaining, workflow management, state machines, code-based vs. data-based specification, tight binding and loose coupling for reusability.

A thorough understanding of software engineering, including concurrency and consensus; thread-safe programming; distributed applications.  Linear data structures (stacks, queues, lists).

A thorough understanding of software engineering, including non-linear data structures, associative arrays (dictionaries, hash maps, graphs, trees, tries, priority queues).

A thorough understanding of software engineering, including ordered data structures (binary trees, heaps); specialised data structures (sets, bags).

A strong knowledge of the subject area combined with a broad subject background enabling contributions to teaching programmes.

Excellent interpersonal, oral and written communication skills.

Proven record of ability to manage time and work to strict deadlines.

Commitment to high-quality teaching and fostering a positive learning environment for students.

Commitment to continuous professional development.

Commitment to academic research.

This position reports to: Head of Academic Department Apply before Tuesday, January 14, 2020 - 38 Days left Companies may expire jobs at their own discretion. If you have not received a response within two weeks, your application was most likely unsuccessful.
15 people have applied for this job. 158 people have viewed this job.

Gain insights into Belgium Campus's Workplace


  • Overall Rating

    1.0

    based on 1 reviews

  • 10%

    would recommend
    to a friend

Best things: Wonderful students / campus life Stay current with technological developments

View all reviews »

Similar Jobs

More Belgium Campus Jobs